查询是:
SELECT COUNT (*) FROM Production AS p LEFT OUTER JOIN Estimates ON
p.EstId=Estimates.EstId WHERE p.DocketNumber=20227
当我在PHPMySQLAdmin中逐字输入此查询时,它会执行并给我一个结果。当我将此查询输入PHP代码时,会出现错误。连接到数据库没有问题,因为当我删除COUNT和*周围的括号时,查询将执行。
这是mysql的问题吗?与count命令冲突?
编辑:nvm
答案 0 :(得分:1)
MySQL可以选择是否接受COUNT (*)
或是否坚持没有空格。可以为每个数据库连接设置此选项,因此可能在phpMyAdmin连接中与PHP连接设置不同。
所以SELECT COUNT (*) ...
可能是错误,取决于SQL模式。在SELECT COUNT(*) ...
之后使用COUNT
而没有空格通常更为正确。
有关详细信息,请参阅Function Name Parsing and Resolution。
答案 1 :(得分:0)
删除count和括号之间的空格
select count(*) ...
然后您的查询看起来语法正确。你是否绝对肯定你将这个sql语句复制到phpmyadmin并进入你的PHP代码?因为我的phpmyadmin不喜欢count和括号之间的空格......
#1064 - 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 '*) from tablename LIMIT 0, 30' at line 1