所以我正在尝试更新更新我的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'
答案 0 :(得分:0)
在执行SQL之前回显SQL,也许某些内容不在您期望的变量中。否则,必须更新的每条记录都具有相同的orderID。
另外,正如他所评论的那样,只有字符串应该用引号括起来,数字类型不应该有它们:
您还可以将运行的查询合并为一个:
$UpdateQuant = "UPDATE Order_Table SET Quantity = $NewQuant, TotalCost = $NewPrice WHERE OrderID = $OrderID ";
$UpdateQuant = mysql_query($UpdateQuant);
将前两个查询组合在一起,你也可以为最后两个查询做同样的事。