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.
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 :
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/.
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].
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().
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.
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)