我有这个PHP代码,可以查询到mysql数据库:

$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'

最佳答案

语法错误!看看http://dev.mysql.com/doc/refman/5.0/en/exists-and-not-exists-subqueries.html

10-06 16:06