PHP 5.3 + MS SQL Сервер возвращает пустой результат

  • Автор темы Автор темы Didie
  • Дата начала Дата начала

Didie

Новичок
Законектился с MS SQL 2008, выполняю любой запрос, например такой: "select count (*) from dano", результат пустое поле.
Тот же запрос на сервере выдает результат 45.
Если в запросе допустить намеренную ошибку в названии таблицы, то выдает ошибку - из чего делаю вывод, что все-таки запрос на сервер приходит. Но почему ответ пустой - не могу разобраться
Пробовал гуглить - не помогает.
Полный текст кода:
PHP:
<?PHP
$serverName = "comp";
$connectionInfo = array( "Database"=>"test","UID"=>"sa", "PWD"=>"pasw","CharacterSet" => "UTF-8");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
$sql="select count(*) from ochered";

$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
    die( print_r( sqlsrv_errors(), true));}

$name = sqlsrv_get_field( $stmt, 0);
echo $name;
?>
 
коннект то к серверу есть?
включите вывод ошибок
PHP:
ini_set('display_error',1);
error_reporting(-1);

если проблемы при работе с mssql
для работы с mssql - нужен доп. драйвер если ничё не ставили дополнительно, то вроде бы здесь на него ссылка http://stackoverflow.com/questions/7402713/how-to-get-mssql-work-with-php-5-3
 
Драйвер ставил, подключал dll - коннект есть 100%. Запрос sqlsrv_server_info возвращает название базы, версию и имя сервера.

PHP:
ini_set('display_error',1);
error_reporting(-1);
этот код сообщений никаких не выдает.

Второй день в гугле лазаю по этой теме - пипец какой-то, информации кот наплакал.
 
Ну, может просто баг. Есть подозрение, что этим пользуется очень мало людей.
 
Не используйте die() при отладке... а лучше вообще не используйте.
И проверяйте sqlsrv_errors() в любом случае, раз уж занялись отладкой.
"У меня всё работает".

Попробуйте через ODBC подцепиться.
 
Не используйте die() при отладке... а лучше вообще не используйте.
И проверяйте sqlsrv_errors() в любом случае, раз уж занялись отладкой.
"У меня всё работает".

Попробуйте через ODBC подцепиться.
Уф..
Прицепился через ODBC, заработало. Непонятно, почему напрямую не фурычило.

Спасибо, добрый человек!
 
Скорее всего нестыковка версий клиента и сервера. Мелкософт-с...
 
Сверху