【问题标题】:MySQL Error querying from PHP: IF EXISTS从 PHP 查询 MySQL 错误:如果存在
【发布时间】: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


【解决方案1】:
【解决方案2】:

我相信是的

IF EXISTS (SELECT * FROM

而不是

IF (EXISTS ( SELECT

IF 语句不需要括号

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-28
    • 1970-01-01
    • 2017-01-17
    • 1970-01-01
    • 2020-12-17
    • 2010-09-05
    • 2012-12-08
    相关资源
    最近更新 更多