Я пытаюсь извлечь некоторые данные из базы данных SQL Sever через PHP с помощью Microsoft Drivers for PHP for SQL Server. Некоторые таблицы можно получить штраф, но другие дают следующее сообщение об ошибке:Ошибка 42S02 из Microsoft Drivers for PHP для SQL Server
Array ([0] => Array ([0] => 42S02 [SQLSTATE] => 42S02 [1] => 208 [код] => 208 [2] => [Microsoft] [Собственный клиент SQL Server 10.0] [SQL Server] Недопустимое имя объекта «xyz $ Permanent Assignments». [Message] => [Microsoft] [Собственный клиент SQL Server 10.0] [SQL Server ] Неверное имя объекта «хуг $ Постоянные Назначения».))
Если я пытаюсь запустить тот же оператор из ISQL (SELECT * FROM [xyz$Permanent Assignments]
), используя те же учетные данные, что работает отлично, так что я знаю, что утверждение верно и объект существует.
Я также пробовал с версиями 1 и 2 драйверов MS.
Код ниже, но если я попробую другие таблицы, это сработает - все это бит и промах.
$tsql = "SELECT * FROM [".$client."\$Permanent Assignments]"; print $tsql; $stmt = sqlsrv_query($conn, $tsql); if ($stmt) { echo "Statement executed."; } else { echo "Error in statement execution.
\n"; die(print_r(sqlsrv_errors(), true)); }
У кого-нибудь есть идеи?
Благодаря
таблиц, fail all имеют '' 'в них, правильно? –
Hi Нет, все таблицы имеют в них $. Формат [название компании $ table name], поэтому [xyz $ table a] будет работать и [xyz $ table b] не будет. Невозможно увидеть шаблон. Таблицы - все из Navision. – williamsdb
@william - это вообще возможно показать некоторые рабочие и недействительные примеры королей? –