Php 一个查询而不是多个查询
我目前正在运行多个mysql查询,但我只想运行一个并循环它。我该如何改进这一点Php 一个查询而不是多个查询,php,mysql,Php,Mysql,我目前正在运行多个mysql查询,但我只想运行一个并循环它。我该如何改进这一点 $query = mysql_query("SELECT productid, code, size, quantity, sizechart, rprice, price, weight FROM inventory WHERE code = '$productcode1'"); while ($rows1 = mysql_fetch_array($query)) { $productids1
$query = mysql_query("SELECT productid, code, size, quantity, sizechart, rprice, price, weight FROM inventory WHERE code = '$productcode1'");
while ($rows1 = mysql_fetch_array($query))
{
$productids1 = $rows1['productid'];
$codes1 = $rows1['code'];
$sizes1 = ucwords($rows1['size']);
$quantitys1 = $rows1['quantity'];
$sizechart = $rows1['sizechart'];
$rprice = $rows1['rprice'];
$sprice = $rows1['price'];
$dweight = $rows1['weight'];
}
然后,每个查询都会执行相同的操作,但$productcode2和$productcode3等除外。。。。WHERE code IN(“$productcode1”、“$productcode2”、…)将“WHERE code=”$prouctcode1“”更改为“WHERE code IN(…)”将使用一个解决方案 基于PHP参考的快速、未经测试且肮脏的示例:
$stmt = $dbh->prepare("SELECT productid, code, size, quantity, sizechart, rprice, price, weight FROM inventory WHERE code = :code");
$stmt->bindParam(':code', $code);
foreach ($productCodes as $code) {
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
// Do something with the results
}
啊,完全误解了这个问题。如果你真的想以更高效的方式运行多个查询,那么试试这个方法。通过使用where-in,我将如何获取与每个productcode匹配的每一行的结果?就像上面的例子一样。第1排、第2排等等?我不确定我是否理解。您已经有了一个while($rows1=mysql\u fetch\u array($query))循环,它将遍历每一行。在中使用where..时,查询将返回与列表中的任何productcodes匹配的行