Подтвердить что ты не робот

PHP/PDO/MSSQL, как получить информацию об ошибках?

Я много искал, но ничего не могу найти о моей проблеме. Я использую PDO с драйвером PDO_DBLIB для доступа к базе данных MS SQL. Обычно я использую подготовленные операторы, но если какой-либо запрос не выполняется, я не получаю дополнительной информации об ошибке, кроме этого:

General SQL Server error: Check messages from the SQL Server [241] (severity 16) [(null)]

Есть ли у кого-нибудь намек на то, как получить дополнительную информацию об ошибке (синтаксическая ошибка при...)?

С наилучшими пожеланиями

Майкл

4b9b3361

Ответ 1

Чтобы найти сообщение об ошибке:

-- SQL 2005+
select * from sys.messages where message_id = 241
-- SQL 2000
select * from sysmessages where error = 241

По-видимому, PDO удаляет фактический текст сообщения об ошибке по какой-то причине, но поскольку документация говорит, что PDO_DBLIB является экспериментальным, это может просто быть ошибкой.

Вы также должны знать, что с SQL 2005 DBLIB был устарел, поэтому вы почти наверняка должны использовать другую библиотеку для подключения к MSSQL.

Ответ 2

Сообщения об ошибках SQL Server

ошибка 241: ошибка синтаксиса, преобразующая дату и время из символьной строки

Этот формат работает для меня: date("Ymd H:i:s");