使用PHP PDO执行多个SQL查询的最佳做法是什么?
我有4个表,每个表都在MyISAM上运行。因此,他们没有外键支持。它是一对多的设计,其中有1个主表,另一个表包含以ID形式对主表的引用。
目前,我所做的是运行第一个查询以从主表中获取ID。执行完毕后,我会执行另一个查询,使用第一个查询中的ID查询其他表。然后将两个查询的结果合并在一起(array_merge),然后显示给用户。
到目前为止,这是我的代码。我想你会得到这个要点,你很可能会说我是PHP的超级初学者。 :)
$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);
我认为上面的代码有点重复和多余。关于如何改进这个问题,是否有任何建议和提示?