dbx Functions
Introduction
The dbx module is a database abstraction layer (db 'X', where 'X' is a supported database). The dbx functions allow you to access all supported databases using a single calling convention. The dbx-functions themselves do not interface directly to the databases, but interface to the modules that are used to support these databases.
Note: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.1.0.
Requirements
To be able to use a database with the dbx-module, the module must be either linked or loaded into PHP, and the database module must be supported by the dbx-module. Currently, the following databases are supported, but others will follow:
- FrontBase (available from PHP 4.1.0).
- Microsoft SQL Server
- MySQL
- ODBC
- PostgreSQL
- Sybase-CT (available from PHP 4.2.0).
- Oracle (oci8) (available from PHP 4.3.0).
- SQLite (PHP 5).
Documentation for adding additional database support to dbx can be found at » https://www.guidance.nl/php/dbx/doc/.
Installation
In order to have these functions available, you must compile PHP with dbx support by using the --enable-dbx option and all options for the databases that will be used, e.g. for MySQL you must also specify --with-mysql=[DIR]. To get other supported databases to work with the dbx-module refer to their specific documentation.
Runtime Configuration
The behaviour of these functions is affected by settings in php.ini.
Name | Default | Changeable | Changelog |
---|---|---|---|
dbx.colnames_case | "unchanged" | PHP_INI_SYSTEM | Available since PHP 4.3.0. Removed in PHP 5.1.0. |
Here's a short explanation of the configuration directives.
- dbx.colnames_case string
-
Columns names can be returned "unchanged" or converted to "uppercase" or "lowercase". This directive can be overridden with a flag to dbx_query().
Resource Types
There are two resource types used in the dbx module. The first one is the link-object for a database connection, the second a result-object which holds the result of a query.
Predefined Constants
The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.
- DBX_MYSQL (integer)
- DBX_ODBC (integer)
- DBX_PGSQL (integer)
- DBX_MSSQL (integer)
- DBX_FBSQL (integer)
- DBX_OCI8 (integer) (available from PHP 4.3.0)
- DBX_SYBASECT (integer)
- DBX_SQLITE (integer) (PHP 5)
- DBX_PERSISTENT (integer)
- DBX_RESULT_INFO (integer)
- DBX_RESULT_INDEX (integer)
- DBX_RESULT_ASSOC (integer)
- DBX_RESULT_UNBUFFERED (integer) (PHP 5)
- DBX_COLNAMES_UNCHANGED (integer) (available from PHP 4.3.0)
- DBX_COLNAMES_UPPERCASE (integer) (available from PHP 4.3.0)
- DBX_COLNAMES_LOWERCASE (integer) (available from PHP 4.3.0)
- DBX_CMP_NATIVE (integer)
- DBX_CMP_TEXT (integer)
- DBX_CMP_NUMBER (integer)
- DBX_CMP_ASC (integer)
- DBX_CMP_DESC (integer)
Table of Contents
- dbx_close — Close an open connection/database
- dbx_compare — Compare two rows for sorting purposes
- dbx_connect — Open a connection/database
- dbx_error — Report the error message of the latest function call in the module
- dbx_escape_string — Escape a string so it can safely be used in an sql-statement
- dbx_fetch_row — Fetches rows from a query-result that had the DBX_RESULT_UNBUFFERED flag set
- dbx_query — Send a query and fetch all results (if any)
- dbx_sort — Sort a result from a dbx_query by a custom sort function