PDO多个SELECT语句

时间:2013-03-23 22:04:56

标签: php mysql pdo

如何在一个文件中执行多个select语句?例如,我有一个产品清单 - 然后我想获得每个产品的库存水平。但是,它只返回第一个产品,而不是任何其他产品。

$query = $db->query("SELECT * FROM `products` ORDER BY `productName` ASC"); 

    while ($row = $query->fetch(PDO::FETCH_ASSOC)){
    $productId = stripslashes($row['productId']);
    $productName = stripslashes($row['productName']);


    echo "<b>".$productName."</b><br />";


    $query = $db->query("SELECT * FROM `stock` WHERE `productId` = $productId"); 

    while ($row = $query->fetch(PDO::FETCH_ASSOC)){
        $stockId = stripslashes($row['stockId']);
        $stockFilename = stripslashes($row['stockFilename']);

    }
    echo "Stock level= " . $query-> rowCount();

}

1 个答案:

答案 0 :(得分:1)

因为你的第二个$查询正在覆盖第一个。将第二个重命名为$ query2(并将$ query变量更改为$ query2)。并将$ row更改为$ row2

顺便说一句,您还可以将第一个查询更改为联接,以完全消除第二个查询。