这里有另一个MySQL问题。我试图根据存储在另一个表中的产品ID将product_qty减少-1。在tbl_basket中,我有一个名为product_id的列,其中包含一个产品ID,该列也位于tbl_products中的product_id列中。我想根据tbl_basket中的产品ID将product_qty减少-1,其中User与会话相同。到目前为止,我有:
$purchase = mysql_query("
UPDATE tbl_products a SET a.product_quantity = a.product_quantity -1
WHERE a.product_id IN (SELECT product_id
from tbl_basket WHERE customer_id = '" . $_SESSION['user'] . "'");
这对我不起作用。它不会降低product_qty。任何想法可能是什么?谢谢。
Patrick Q提到的这是一个问题。
工作查询是:
$purchase = "UPDATE tbl_products a SET a.product_quantity = a.product_quantity -1 WHERE a.product_id IN (SELECT product_id from tbl_basket WHERE customer_id = '" . $_SESSION['user'] . "')";
$debug = mysql_query($purchase) or trigger_error(mysql_error()." ".$purchase);
答案 0 :(得分:1)
您错过了子查询的右括号。
$purchase = mysql_query("
UPDATE tbl_products a SET a.product_quantity = a.product_quantity -1
WHERE a.product_id IN (SELECT product_id
from tbl_basket WHERE customer_id = '" . $_SESSION['user'] . "');");
答案 1 :(得分:0)
您缺少子查询的括号:
$purchase = mysql_query("
UPDATE tbl_products a SET a.product_quantity = a.product_quantity -1
WHERE a.product_id IN (SELECT product_id
from tbl_basket WHERE customer_id = '" . $_SESSION['user'] . "')");