Uncaught PDOException: режим извлечения требует colno - но только на рабочем сервере - PullRequest
1 голос
/ 13 января 2011

Я переносил веб-сайт с одного сервера на другой.Код огромен, поэтому, естественно, у меня были проблемы.Я полагаю, что все они решены за исключением для этого постоянного:

На определенной странице я получаю следующую ошибку:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: fetch mode requires the colno argument' in /home/username/public_html/admin/lib/database.inc.php:59

Строка, на которую ссылаются:

$myResult->setFetchMode(PDO::FETCH_COLUMN);

Я изучал документацию PDO, поэтому мой диагноз изначально заключался в том, что для установки режима выборки на PDO :: FETCH_COLUMN требовалась также установка номера столбца - здесь нет больших вычетов.Поэтому я попытался значение 0 в качестве второго аргумента.Страница потратила более 30 секунд на загрузку и получила тайм-аут PHP.То же самое для значения 1, и затем я решил, что это не путь к успеху.

Теперь, по-настоящему озадачивает то, что этот сайт отлично работает на моей локальной тестовой машине без каких-либо изменений, а такжена оригинальном производственном сервере.У меня нет легкого доступа к спецификациям на старом сервере, но я знаю, что те, что на моем локальном тестовом компьютере, чертовски близко соответствуют таковым на новом сервере.

В частности:

ЛокальныйPHP: 5.3.3

Удаленный PHP: 5.3.4

Локальный MySQL: 5.1.37

Удаленный MySQL: 5.0.91

Так как я знаюкод хороший с некоторой конфигурацией , я надеюсь, что кто-то знает магический переключатель, который я могу щелкнуть.

- РЕДАКТИРОВАТЬ -

Даже если error_reporting установлен в E_ALL |E_STRICT на локальном компьютере, это исключение PDO не появляется.

1 Ответ

1 голос
/ 04 февраля 2011

решаемая. Не спрашивайте меня почему, но понижение PHP до определенной версии - как рекомендовано оригинальными разработчиками - добилось цели. Не берите в голову, что это работало хорошо локально с более свежей версией. Это просто сработало.

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