【发布时间】:2012-03-05 10:58:42
【问题描述】:
我有这个带有查询 mysql 数据库的 PHP 代码:
$query2 = "IF( EXISTS (SELECT * FROM shipcargo WHERE shipid='$shipid' AND item='$item' AND price='$price'))
BEGIN
UPDATE shipcargo SET amount = amount+'$amount' WHERE shipid='$shipid' AND item='$item' AND price='$price'
END
ELSE
BEGIN
INSERT INTO shipcargo (shipid, item, amount, price) VALUES('$shipid', '$item', '$amount', '$price')
END";
mysql_query($query2) or die(mysql_error());
返回的错误是:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'IF( EXISTS (SELECT * FROM shipcargo WHERE shipid='11' AND item='WheatBastard' AN' 附近使用正确的语法
【问题讨论】:
-
PHP 不会触发 SQL 错误。您必须检查
$query2包含的确切内容,看看它是否是有效的 SQL 代码。
标签: mysql sql if-statement exists