PDO在同一个循环中执行2个mysql选择

时间:2012-03-06 20:46:34

标签: php

快速提问!
如何使用PDO执行2次选择并通过相同的循环运行它们?
$sql1 = $db->query("SELECT * FROM produkts");
$sql2 = $db->query("SELECT * FROM buyers");
$sql1->setFetchMode(PDO::FETCH_ASSOC);
$sql1->setFetchMode(PDO::FETCH_ASSOC);
while($row = $stmt->fetch() && $row1 = $stmt1->fetch()){
Something to be displayed
}
这显然不起作用,我不知道如何使它工作。
这是怎么做的?

1 个答案:

答案 0 :(得分:1)

假设有类似的东西:

Buyers       Produkts
----------   ---------
buyerid    .-produktid
produktid-'  [...]
[...]

您可以使用:

SELECT       b.*, p.*
FROM         buyers b
  LEFT JOIN  produkts p
  ON         p.produktid = b.produktid

这会查询每个buyers,然后查询produktid表中提供和找到的每个produkts,它将在结果中加入。你也可以反转它带来购买产品:例如:

SELECT       p.*, b.*
FROM         produkts p
  LEFT JOIN  buyers b
  ON         b.produktid = p.produktid

这将根据buyers匹配带来produkts详细信息。

这是你告诉我的,两个表共享一个produktid列。我仍然不知道你在追求什么,或者知道更多关于表模式的信息,所以如果我关闭了,请告诉我(并提供更多信息)。