Почему SQL-запрос работает через PHPMySQLAdmin, а не через mysql_query? - PullRequest
1 голос
/ 28 июня 2011

Запрос:

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

Когда я буквально вводю этот запрос в PHPMySQLAdmin, он выполняется и дает мне результат.Когда я ввожу этот запрос в код PHP, он вызывает ошибку.Нет проблем с подключением к базе данных, потому что, когда я удаляю COUNT и скобки вокруг *, выполняется запрос.

Это проблема с mysql и конфликт с командой count?

EDIT: nvm

Ответы [ 2 ]

1 голос
/ 28 июня 2011

MySQL имеет опцию для того, чтобы принять COUNT (*) или настаивать на том, чтобы не было места.Эта опция может быть установлена ​​для каждого соединения с базой данных, поэтому она может быть установлена ​​по-другому в вашем соединении phpMyAdmin и в вашем PHP-соединении.

Так что SELECT COUNT (*) ... может быть ошибкой или нет, в зависимости от режима SQL.Обычно более правильно использовать SELECT COUNT(*) ... без пробела после COUNT.

См. Синтаксический анализ и разрешение имен функций для получения дополнительной информации.

0 голосов
/ 28 июня 2011

уберите пробел между счетчиками и скобками

select count(*) ...

, тогда ваш запрос выглядит синтаксически правильным.Вы абсолютно уверены, что скопировали именно этот 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...