Manuel PHP
Précédent |  | Suivant

# XXVII. Fonctions dbx

# Introduction

Le module dbx est un module d'abstraction de base de données (db pour database (base de données) et 'X' pour toutes les bases supportées). Les fonctions dbx vous permettent d'accéder à toutes les bases supportées, avec la même convention. Les fonctions dbx elles-mêmes ne s'interfacent pas directement avec les bases de données, mais s'interfacent avec les modules utilisées pour supporter ces bases.

> Note : Cette extension a été déplacée dans le module PECL et ne sera plus intégrée dans PHP à partir de PHP 5.1.0.

# Pré-requis

Pour pouvoir utiliser une base de données avec le module dbx, le module doit être soit lié, soit chargé dans PHP et le module de base de données doit être supporté par le module dbx. Actuellement les bases suivantes sont supportées, et d'autres suivront :

- FrontBase (disponible depuis PHP 4.1.0).

- Microsoft SQL Server

- MySQL

- ODBC

- PostgreSQL

- Sybase-CT (disponible depuis PHP 4.2.0).

- Oracle (oci8) (disponible depuis PHP 4.3.0).

- SQLite (PHP 5).

La documentation nécessaire pour ajouter le support d'autres bases de données est disponible à l'adresse http://www.guidance.nl/php/dbx/doc/.

# Installation

Il vous faut avoir ces fonctions compilées avec PHP (option de configuration --enable-dbx et toutes les bases que vous souhaitez utiliser. Par exemple, si vous voulez accéder à MySQL depuis dbx, vous devez aussi configurer PHP avec --with-mysql=[DIR].

# Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier `php.ini`.

Tableau 1. Options de configuration

Nom | Par défaut | Modifiable | Historique
--- | --- | --- | ---
dbx.colnames_case | "unchanged" | PHP_INI_SYSTEM | Disponible depuis PHP 4.3.0.

Pour plus de détails sur les constantes PHP_INI_*, reportez-vous à Annexe G.

Voici un éclaircissement sur l'utilisation des directives de configuration.

dbx.colnames_case string

  Les noms de colonnes peuvent être retournés comme "inchangés" ("unchanged"), ou bien "majuscules" ("uppercase") ou encore "minuscules" ("lowercase"). Cette directive peut être reconfigurée par une option de dbx_query().

# Types de ressources

Il y a deux ressources utilisées par le module dbx. Le premier est le type link-object, pour les connexions aux bases de données, et l'autre est le type result-object qui contient les lignes lues.

# Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

`DBX_MYSQL` (entier)

`DBX_ODBC` (entier)

`DBX_PGSQL` (entier)

`DBX_MSSQL` (entier)

`DBX_FBSQL` (entier)

`DBX_OCI8` (entier) (disponible à partir de PHP 4.3.0)

`DBX_SYBASECT` (entier)

`DBX_SQLITE` (entier) (PHP 5)

`DBX_PERSISTENT` (entier)

`DBX_RESULT_INFO` (entier)

`DBX_RESULT_INDEX` (entier)

`DBX_RESULT_ASSOC` (entier)

`DBX_RESULT_UNBUFFERED` (entier) (PHP 5)

`DBX_COLNAMES_UNCHANGED` (entier) (uniquement disponible à partir de PHP 4.3.0)

`DBX_COLNAMES_UPPERCASE` (entier) (uniquement disponible à partir de PHP 4.3.0)

`DBX_COLNAMES_LOWERCASE` (entier) (uniquement disponible à partir de PHP 4.3.0)

`DBX_CMP_NATIVE` (entier)

`DBX_CMP_TEXT` (entier)

`DBX_CMP_NUMBER` (entier)

`DBX_CMP_ASC` (entier)

`DBX_CMP_DESC` (entier)

Précédent | Sommaire | Suivant
dbmreplace | Niveau supérieur | dbx_close