gpt4 book ai didi

php - 使用 PHP PDO 执行多个 SQL 查询的最佳实践

转载 作者:行者123 更新时间:2023-11-29 07:10:02 25 4
gpt4 key购买 nike

使用 PHP PDO 执行多个 SQL 查询的最佳实践是什么?

我有 4 个表,每个表都在 MyISAM 上运行。因此,他们没有外键支持。这是一个一对多的设计,其中有一个主表,另一个表包含对主表的 ID 形式的引用。

现在,我所做的是运行第一个查询以从主表中获取 ID。执行后,我将执行另一个查询以使用第一个查询中的 ID 查询其他表。然后将两个查询的结果合并在一起 (array_merge),然后显示给用户。

到目前为止,这是我的代码。我想您会明白要点,而且您很可能会说我是 PHP 的 super 初学者。 :)

$sql1 = "SELECT * FROM student_records WHERE name=? LIMIT 1";
$stmt1 = $db->prepare($sql1);
$stmt1->execute(array($name));
$e11 = $stmt1->fetch();

$id = $e1['id'];

$sql2 = "SELECT file_name FROM images WHERE id=? LIMIT 1";
$stmt2 = $db->prepare($sql2);
$stmt2->execute(array($id));
$e2 = $stmt2->fetch();

$e = array_merge($e1, $e2);

我认为上面的代码有些重复和冗余。关于我如何改进它,有什么建议和提示吗?

最佳答案

使用joins , 不要使用 SELECT * (仅选择您需要的列):

SELECT file_name 
FROM student_records AS sr
JOIN images AS i ON sr.id = i.id
WHERE sr.name=?

关于php - 使用 PHP PDO 执行多个 SQL 查询的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5168780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com