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 ODBC de esta conexión. Si
   connection_id se omite, 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 | odbcahora espera una instancia de
  Odbc\Connection; anteriormente, se esperaba un resource. | 
| 8.0.0 | odbces 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!