mySQL在同一个查询中选择两行或更多行

时间:2015-02-13 19:14:11

标签: php mysql

我使用以下代码查询存储在PHP中的$ IDs数组中的前30个产品ID的pull Category和Stock。

//Category
for ($n = 0; $n < 30; $n++) {
    $ID = $IDs[$n];
    $result = mysql_query("SELECT Category FROM Products where Code= '$ID'", $link);
    if (!$result) {
        die("Database query failed: " . mysql_error());
    }
    while ($row = mysql_fetch_array($result)) {
       $productCategory[$n] = $row["Category"];
    }
}
//Stock
for ($n = 0; $n < 30; $n++) {
    $ID = $IDs[$n];
    $result = mysql_query("SELECT Stock FROM Products where Code= '$ID'", $link);
    if (!$result) {
        die("Database query failed: " . mysql_error());
    }
    while ($row = mysql_fetch_array($result)) {
       $productStock[$n] = $row["Stock"];
    }
}

有没有办法使用相同的SELECT查询和拉出类别和库存,这样我可以将对mySQL DB的查询最小化到30而不是60?

1 个答案:

答案 0 :(得分:3)

SELECT Stock, Category FROM Products WHERE Code= '$ID'

请注意,由于PHP注入漏洞,PHP已弃用mysql_*方法。您应该使用PDO或mysqli函数。