从 PHP 查询 MySQL 错误:如果存在
Posted
技术标签:
【中文标题】从 PHP 查询 MySQL 错误:如果存在【英文标题】:MySQL Error querying from PHP: IF EXISTS 【发布时间】:2012-03-05 10:58:42 【问题描述】:$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 代码。
【参考方案1】:
语法错误!看看http://dev.mysql.com/doc/refman/5.0/en/exists-and-not-exists-subqueries.html
【讨论】:
【参考方案2】:我相信是的
IF EXISTS (SELECT * FROM
而不是
IF (EXISTS ( SELECT
IF 语句不需要括号
【讨论】:
以上是关于从 PHP 查询 MySQL 错误:如果存在的主要内容,如果未能解决你的问题,请参考以下文章
如果记录已经存在或者在 PDO MySQL 插入查询中不存在,如何生成 javascript 警报?