PHP Manual
Prev |  | Next

# XXI. 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.

# 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, 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) (CVS only).

Documentation for adding additional database support to dbx can be found at http://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`.

Table 1. DBX Configuration Options

Name | Default | Changeable
--- | --- | ---
dbx.colnames_case | "unchanged" | PHP_INI_SYSTEM

For further details and definition of the PHP_INI_* constants see ini_set().

> Note: This ini-option is in CVS only.

Here is 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 helds 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) CVS only

`DBX_SYBASECT` (integer)

`DBX_PERSISTENT` (integer)

`DBX_RESULT_INFO` (integer)

`DBX_RESULT_INDEX` (integer)

`DBX_RESULT_ASSOC` (integer)

`DBX_COLNAMES_UNCHANGED` (integer) CVS only

`DBX_COLNAMES_UPPERCASE` (integer) CVS only

`DBX_COLNAMES_LOWERCASE` (integer) CVS only

`DBX_CMP_NATIVE` (integer)

`DBX_CMP_TEXT` (integer)

`DBX_CMP_NUMBER` (integer)

`DBX_CMP_ASC` (integer)

`DBX_CMP_DESC` (integer)

Prev | Home | Next
dbmreplace | Up | dbx_close