PHP:MySQL:更新正在更新多行

时间:2013-11-07 00:55:46

标签: php html mysql database

所以我正在尝试更新更新我的2个表:Invoice和Order_Table。我希望它更新每个表中的新数量和新价格,但仅限于特定的OrderID。我想出了这个:

$UpdateQuant = "UPDATE Order_Table SET Quantity = '$NewQuant' WHERE OrderID = '$OrderID' ";
$UpdateQuant = mysql_query($UpdateQuant);

$UpdatePrice = "UPDATE Order_Table SET TotalCost = '$NewPrice' WHERE OrderID = '$OrderID' ";
$UpdatePrice = mysql_query($UpdatePrice);


//Update Invoice Table
$UpdateQuant = "UPDATE Invoice SET Quantity = '$NewQuant' WHERE OrderID = '$OrderID' ";
$UpdateQuant = mysql_query($UpdateQuant);                   

$UpdatePrice = "UPDATE Invoice SET TotalCost = '$NewPrice' WHERE OrderID = '$OrderID' ";
$UpdatePrice = mysql_query($UpdatePrice);

然而,当我执行它时,它会更新每一行。我不明白为什么会发生这种情况,因为我正在使用WHERE OrderID = '$OrderID'

1 个答案:

答案 0 :(得分:0)

在执行SQL之前回显SQL,也许某些内容不在您期望的变量中。否则,必须更新的每条记录都具有相同的orderID。

另外,正如他所评论的那样,只有字符串应该用引号括起来,数字类型不应该有它们:

您还可以将运行的查询合并为一个:

$UpdateQuant = "UPDATE Order_Table SET Quantity = $NewQuant, TotalCost = $NewPrice WHERE OrderID = $OrderID ";
$UpdateQuant = mysql_query($UpdateQuant);

将前两个查询组合在一起,你也可以为最后两个查询做同样的事。