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-запрос
завершился ошибкой, — если функция 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!