我有一个简单的 SQL 查询,它不断抛出 SQL 语法错误。它看起来像这样:
$sql = "SELECT COUNT(*) AS TOTAL FROM PRODUCT WHERE ID_PRODUCT = ".$id;
$result = mysql_query($sql) or die(mysql_error());
抛出:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE ID_PRODUCT = 1' at line 1
我不明白这是怎么回事。当然,如果我直接在 phpMyAdmin 中尝试查询,它就没有问题。
它返回与 SELECT *
编辑:ID_PRODUCT 是外键...
更新:当用 $sql 字符串 WHERE ID_PRODUCT = 2
中的静态值替换 $id 变量以及通过以下方式保护名称时,我也会遇到同样的错误引号。
最佳答案
如果 ID_PRODUCT
列是 varchar,您需要在 where 子句中将值用单引号引起来。可能是这样的,没有关于您的架构的信息无法判断。
更新:当时还不确定。显然,下一步是打印出生成的 SQL 并尝试手动运行它,希望问题会显现出来,并且您将能够排除 PHP 是问题的根源。
关于php - 抛出 SQL 语法错误的简单查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2310914/