On persistent connections, a failed T-SQL will allow odbc_error and odbc_errormsg to return the error, but a subsequent successful T-SQL will not clear the error. Is it a bug?
(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)
odbc_error — Возвращает последний код ошибки
Функция возвращает шестизначное состояние ODBC-соединения или пустую строку, если ошибки не возникали.
odbc
Объект ODBC-соединения. Подробнее о коннекторе рассказывает описание функции odbc_connect().
Функция возвращает последнее состояние соединения odbc
,
если аргумент передали, иначе возвращает последнее состояние любого
соединения.
Функция возвращает осмысленное значение, только если последний ODBC-запрос
завершился ошибкой, — если функция odbc_exec() вернула
значение false
.
Версия | Описание |
---|---|
8.4.0 |
Параметр odbc теперь ожидает экземпляр соединения Odbc\Connection;
раньше ожидался аргумент с типом resource.
|
8.0.0 |
Параметр odbc теперь принимает значение null .
|
On persistent connections, a failed T-SQL will allow odbc_error and odbc_errormsg to return the error, but a subsequent successful T-SQL will not clear the error. Is it a bug?
If you use an argument, make sure its the CONNECTION_ID and not the RESULT_ID.
Testing the result can return a null string or sometimes a garbage string.
# -- Example code --
$rs = odbc_exec($dbc, $sql);
#this is wrong but won't error out until
#you demo the page for a client!
if (odbc_error($rs)) die(...);
#these work
if (odbc_error()) die(...);
if (odbc_error($dbc)) die(...);
Using IBM DB2 V7.1 and MS SQL Server 7 ODBC database connections.
Print the result of odbc_error() or odbc_errormsg() after each call to an odbc_ function that gives no error and, sooner or later, you'll get garbage instead of a blank string!