2011-06-28 56 views
1

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

SELECT COUNT (*) FROM Production AS p LEFT OUTER JOIN Estimates ON 
p.EstId=Estimates.EstId WHERE p.DocketNumber=20227 

当我进入这个字面上查询到PHPMySQLAdmin,它执行并给我一个结果。当我将这个查询输入到PHP代码中时,它会引发错误。连接到数据库没有问题,因为当我删除COUNT和*周围的括号时,查询就会执行。

这是MySQL的问题,并与计数命令冲突?

编辑:NVM

+3

你得到的错误是什么? –

+1

你的php代码是什么? –

+3

如果您删除COUNT和(*)之间的空格,您是否也收到错误(确切地说有什么错误?)? – Gryphius

回答

1

MySQL有对是否接受COUNT (*)或是否选择坚持,有没有空间。该选项可以根据数据库连接进行设置,因此可以在您的phpMyAdmin连接与您的PHP连接中进行不同的设置。

因此SELECT COUNT (*) ...可能是错误或不是,这取决于SQL模式。在COUNT之后使用SELECT COUNT(*) ...而没有空格通常更正确。

有关更多详细信息,请参见Function Name Parsing and Resolution

0

取出数和括号

select count(*) ... 

然后将查询看起来syntactially正确之间的空间。你绝对肯定你将这个sql语句复制到phpmyadmin和你的php代码中?怎么把我的phpmyadmin不喜欢数和括号之间的任何空间......

#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 
+0

不,这是不正确的。我删除了空格,查询仍然没有执行。此外,错误发生在PHP代码中,而不是在phpMyAdmin中 – BlackSheep