Ошибка 42S02 от драйверов Microsoft для PHP для SQL Server - PullRequest
2 голосов
/ 11 августа 2010

Я пытаюсь извлечь некоторые данные из базы данных SQL Server через PHP, используя драйверы Microsoft для PHP для SQL Server.Некоторые таблицы я могу получить нормально, но другие выдают следующее сообщение об ошибке:

Array ([0] => Array ([0] => 42S02 [SQLSTATE] => 42S02 [1] => 208)[code] => 208 [2] => [Microsoft] [Собственный клиент SQL Server 10.0] [SQL Server] Недопустимое имя объекта «xyz $ Permanent Assignments». [message] => [Microsoft] [Собственный клиент SQL Server 10.0][SQL Server] Неверное имя объекта 'xyz $ Permanent Assignments..что утверждение верно и объект существует.

Я также пытался использовать драйверы MS версии 1 и 2.

Код приведен ниже, но если я попробую другие таблицы, он будет работать -все это немного попало.

$tsql = "SELECT * 
         FROM [".$client."\$Permanent Assignments]";

print $tsql;

$stmt = sqlsrv_query( $conn, $tsql);
if ( $stmt )
{
     echo "Statement executed.";
} 
else 
{
     echo "Error in statement execution.<br>\n";
     die( print_r( sqlsrv_errors(), true));
}

У кого-нибудь есть идеи?

Спасибо

1 Ответ

0 голосов
/ 01 декабря 2010

Попробуйте заключить в кавычки имя таблицы с помощью «вместо квадратных скобок». Если вы используете одинарные кавычки для разделения строки, вам не нужно будет сокращать их или сокращать $

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