我想使用 PHP 在 MySQL 数据库上使用 if 语句运行更新查询。 我想更新我的网上商店中的库存,但前提是客户订单的数量存在。 我尝试过这样的事情
$updatequery = "UPDATE products
SET stock
CASE WHEN (stock >= '$quantity') THEN (stock=stock-'$quantity')
ELSE (stock= stock)
END
WHERE product='$product'"; `
或者像这样
$sql = "UPDATE products SET\n"
. "stock = IF(stock>=$quantity, stock=stock-$quantity, IF(stock<=$quantity, stock=stock) )\n"
. "WHERE product=$product"; `
有人可以帮助我解决我遇到的问题吗?
最佳答案
您无法从 CASE
返回类似 stock = stock
的表达式。请尝试以下操作:
$sql = "UPDATE products
SET stock = CASE
WHEN stock >= $quantity THEN (stock - $quantity)
ELSE stock
END
WHERE product = '$product' "
或
$sql = "UPDATE products
SET stock = IF(stock >= $quantity, (stock - $quantity), stock)
WHERE product = '$product' "
关于PHP 使用 IF 更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23870358/