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 — Lee el último código de error
Devuelve un estado ODBC de 6 dígitos, o una cadena vacía si no había más errores.
odbcEl objeto de conexión ODBC, ver la documentación de la función odbc_connect() para más detalles.
Si odbc está especificado, se devuelve el último
estado de esa conexión, de lo contrario se devuelve el último
estado de cualquier conexión.
Esta función devuelve un valor significativo únicamente si
la última consulta ODBC ha fallado
(es decir, la función odbc_exec() ha devuelto false).
| Versión | Descripción |
|---|---|
| 8.4.0 |
odbc ahora espera una instancia de
Odbc\Connection; anteriormente, se esperaba un resource.
|
| 8.0.0 |
odbc es ahora nullable.
|
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!