LVII. Unified ODBC functions

In addition to normal ODBC support, the Unified ODBC functions in PHP allow you to access several databases that have borrowed the semantics of the ODBC API to implement their own API. Instead of maintaining multiple database drivers that were all nearly identical, these drivers have been unified into a single set of ODBC functions.

The following databases are supported by the Unified ODBC functions: Adabas D, IBM DB2, iODBC, Solid, and Sybase SQL Anywhere.

Note: There is no ODBC involved when connecting to the above databases. The functions that you use to speak natively to them just happen to share the same names and syntax as the ODBC functions. The exception to this is iODBC. Building PHP with iODBC support enables you to use any ODBC-compliant drivers with your PHP applications. iODBC is maintained by OpenLink Software. More information on iODBC, as well as a HOWTO, is available at

Table of Contents
odbc_autocommit -- Toggle autocommit behaviour
odbc_binmode -- Handling of binary column data
odbc_close -- Close an ODBC connection
odbc_close_all -- Close all ODBC connections
odbc_commit -- Commit an ODBC transaction
odbc_connect -- Connect to a datasource
odbc_cursor -- Get cursorname
odbc_do -- Synonym for odbc_exec()
odbc_error -- Get the last error code
odbc_errormsg -- Get the last error message
odbc_exec -- Prepare and execute a SQL statement
odbc_execute -- Execute a prepared statement
odbc_fetch_into -- Fetch one result row into array
odbc_fetch_row -- Fetch a row
odbc_field_name -- Get the columnname
odbc_field_num -- Return column number
odbc_field_type -- Datatype of a field
odbc_field_len -- Get the length (precision) of a field
odbc_field_precision -- Synonym for odbc_field_len()
odbc_field_scale -- Get the scale of a field
odbc_free_result -- Free resources associated with a result
odbc_longreadlen -- Handling of LONG columns
odbc_num_fields -- Number of columns in a result
odbc_pconnect -- Open a persistent database connection
odbc_prepare -- Prepares a statement for execution
odbc_num_rows -- Number of rows in a result
odbc_result -- Get result data
odbc_result_all -- Print result as HTML table
odbc_rollback -- Rollback a transaction
odbc_setoption --  Adjust ODBC settings. Returns FALSE if an error occurs, otherwise TRUE.
odbc_tables --  Get the list of table names stored in a specific data source. Returns a result identifier containing the information.
odbc_tableprivileges --  Lists tables and the privileges associated with each table
odbc_columns --  Lists the column names in specified tables. Returns a result identifier containing the information.
odbc_columnprivileges --  Returns a result identifier that can be used to fetch a list of columns and associated privileges
odbc_gettypeinfo --  Returns a result identifier containing information about data types supported by the data source.
odbc_primarykeys --  Returns a result identifier that can be used to fetch the column names that comprise the primary key for a table
odbc_foreignkeys --  Returns a list of foreign keys in the specified table or a list of foreign keys in other tables that refer to the primary key in the specified table
odbc_procedures --  Get the list of procedures stored in a specific data source. Returns a result identifier containing the information.
odbc_procedurecolumns --  Retrieve information about parameters to procedures
odbc_specialcolumns --  Returns either the optimal set of columns that uniquely identifies a row in the table or columns that are automatically updated when any value in the row is updated by a transaction
odbc_statistics -- Retrieve statistics about a table