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 — Lit le dernier code d'erreur
Retourne un état ODBC sur 6 chiffres, ou une chaîne vide s'il n'y avait plus d'erreurs.
odbcL'objet de connexion ODBC, voir la documentation de la fonction odbc_connect() pour plus de détails.
   Si odbc est spécifié, le dernier
   état ODBC de cette connexion est retourné. Si
   connection_id est omis, c'est le dernier
   état de n'importe quelle connexion qui est retourné.
  
   Cette fonction retourne une valeur significative uniquement si
   la dernière requête ODBC a échoué
   (i.e. la fonction odbc_exec() a retourné false).
  
| Version | Description | 
|---|---|
| 8.4.0 | odbcattend désormais une instance de
  Odbc\Connection; auparavant, un resource était attendu. | 
| 8.0.0 | odbcest désormais 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!