mssql_query ничего не возвращает - PullRequest
0 голосов
/ 21 января 2010

У меня проблемы с настройкой системы.

У нас запущен SQL Server 2005, и я хочу подключить его с другого компьютера с ОС Windows, на котором установлены php 5.2 и apache.

Я могу подключиться к SQL с помощью mssql_connect, но не могу получить результаты простого запроса (SELECT * FROM USERS) mssql_query ничего не возвращает, не умирает или не показывает ошибку.

Тот же код с тем же php работает на другом компьютере (клиенте компьютера с SQL Server) и на ПК с SQL Server.

Что может происходить?

Ответы [ 5 ]

1 голос
/ 21 января 2010

Возможно, истекло время ожидания из-за более длительного времени выполнения запроса? Вы можете попробовать более простой запрос, например SELECT 1

Если это проблема с тайм-аутом, вам, возможно, придется выяснить, почему это происходит с этим компьютером ... или вы можете исправить это с помощью этой строки в коде до выполнения запроса: ini_set('mssql.timeout', seconds) где секунд это число.

1 голос
/ 21 января 2010

Я никогда раньше не работал с MsSQL, но попробуйте установить error_reporting(E_ALL) вверху вашего файла и после вызова mssql_query() сделать var_dump(mssql_get_last_message()).

0 голосов
/ 21 января 2010

Спасибо всем, я решил это. В моем php-коде произошла ошибка в верхнем / нижнем регистре, и я не обрабатывал ни одной строки в наборе результатов.

Мне потребовались часы, чтобы заметить эту глупость!

0 голосов
/ 21 января 2010

Я бы начал с конфигурации.Если он работает нормально с другой машины, и это единственная проблема, то
1. Сравните драйверы между работающими / нерабочими машинами.
2. Сравните установки php.

Вы получите картинку.

Кроме того, я не уверен, что вы подразумеваете под "(клиентом сервера SQL Server)" ...

0 голосов
/ 21 января 2010

Если запрос просто зависает, то, вероятно, таблица заблокирована.

Не могли бы вы выполнить запрос, который не включает какие-либо таблицы (например, просто SELECT 1), и посмотреть, работает ли он?

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