odbc_errormsg() - Retrieving ODBC Error Messages

Q

How To Retrieve Error Messages using odbc_errormsg()?

✍: Guest

A

When you call odbc_exec() to execute a SQL statement, and the execution failed on the SQL Server, you can use odbc_error() and odbc_errormsg() to retrieve the error code and error messages.

The tutorial script below shows you a good example:

<?php
  $con = odbc_connect('FYI_SQL_SERVER','sa','FYIcenter');

  # dropping a table
  $sql = 'DROP TABLE fyi.center';
  $res = odbc_exec($con, $sql);
  if (!$res) {
    print("Execution failed:\n");
    print("   State: ".odbc_error($con)."\n");
    print("   Error: ".odbc_errormsg($con)."\n");
  } else {
    print("Execution was successful.\n");
  }

  odbc_close($con); 
?>

If you run this script for the first time, you will get this output:

Execution was successful.

If you run this script again, the SQL statement will fail on the SQL Server, and you will get:

Warning: odbc_exec(): SQL error: [Microsoft]
[ODBC SQL Server Driver][SQL Server]
Cannot drop the table 'fyi.center', because 
it does not exist or you do not have permission., 
SQL state S0002 in SQLExecDirect in C:\test\fyi_center.php
on line 6
Execution failed:
   State: S0002   
   Error: [Microsoft][ODBC SQL Server Driver][SQL Server]
Cannot drop the table 'fyi.center', because it does not 
exist or you do not have permission.

 

Turning Off PHP Warning Messages for ODBC Connection

odbc_exec() - Executing SQL Statements

SQL Server FAQs - PHP ODBC Functions - Connection and Query Execution

⇑⇑ SQL Server Connection Tutorials

2023-12-31, 1211🔥, 0💬