42S22 Ошибка SQL: столбец не найден, почему? - PullRequest
1 голос
/ 20 мая 2010

Это мой SQL:

SELECT `tbl`.*, 123 AS `test` FROM `tbl` GROUP BY `test`

Это работает, когда я запускаю его непосредственно в MySQL. Но PDO говорит:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'test' in 'field list'

Почему так? Как вылечить эту проблему? Я использую Zend_Db.

1 Ответ

1 голос
/ 20 мая 2010

Снимите галочки со всего теста и замените их одинарными кавычками следующим образом:

SELECT `tbl`.*, 123 AS 'test' FROM `tbl` GROUP BY `test`

Я не уверен, что вам придется делать то же самое в отношении теста в вашей группе GROUP BY, но первоначальное изменение должно позаботиться об этом.

Причина этого в том, что обратные галочки (`) обозначают базы данных, таблицы и столбцы базы данных. PDO более строг в этом вопросе, чем при работе непосредственно в MySQL. Не уверен в причине этого, но это так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...