MySQL Ошибка запроса из PHP: ЕСЛИ СУЩЕСТВУЕТ - PullRequest
0 голосов
/ 05 марта 2012

У меня есть этот 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, на предмет правильного синтаксиса для использования рядом с 'IF (EXISTS (SELECT * FROM shipcargo WHERE shipid = '11' И item = 'WheatBastard' AN 'в строке 1

Ответы [ 2 ]

1 голос
/ 05 марта 2012

синтаксис неверен!Взгляните на http://dev.mysql.com/doc/refman/5.0/en/exists-and-not-exists-subqueries.html

0 голосов
/ 05 марта 2012

Я считаю, что это

IF EXISTS (SELECT * FROM

Вместо

IF (EXISTS ( SELECT

Вам не нужна скобка с оператором IF

...