为什么SQL查询通过PHPMySQLAdmin而不是通过mysql_query工作?

时间:2011-06-28 13:24:40

标签: mysql sql

查询是:

 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

2 个答案:

答案 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