2012-03-05 49 views
0

我有这个PHP代码查询到MySQL数据库:MySQL错误从PHP查询:IF EXISTS

$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语法错误; (EXISTS(SELECT * FROM shipcargo WHERE shipid = '11'AND item ='WheatBastard'AN'at line 1)

+0

PHP不会触发SQL错误。你必须检查'$ query2'包含的是否是有效的SQL代码。 – 2012-03-05 11:05:05

回答

0

我在使用附近的IF语句相信这是

IF EXISTS (SELECT * FROM 

不是

IF (EXISTS (SELECT 

你并不需要一个支架与IF语句

+0

清楚, – Asgarnian 2012-03-05 11:12:58