Manuel PHP
Précédent |  | Suivant

# XCVIII. Fonctions PDO

# Introduction

Avertissement
Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS! Soyez-en conscient, et utilisez ce module à vos risques et périls.

L'extension PHP Data Objects (PDO) défint une excellente interface pour accéder à une base de données depuis PHP. Chaque pilote de base de données implémenté dans l'interface PDO peut utiliser des fonctionnalités spécifiques à chaque des bases de données en utilisant des extensions de fonctions. Notez que vous ne pouvez exécuter aucune fonction de base de données en utilisant l'extension PDO par elle-même ; vous devez utiliser un driver PDO spécifique à la base de données pour accéder au serveur de base de données.

# Installation

PDO est actuellement disponible en tant qu'extension PECL disponible sur http://pecl.php.net/package/pdo. Assurez-vous d'avoir installé la version CGI de PHP et que les scripts pear et phpize sont disponibles dans votre path courant.

Exéutez la commande suivante pour télécharger, construire et installer la dernière version stable de PDO :

    pear install pdo

Les utilisateurs de Windows peuvent télécharger la bibliothèque DLL `pdo.dll` en tant que partie de la collection PECL sur http://www.php.net/downloads.php.

La commande pear installe automatiquement le module PDO dans votre dossier d'extensions PHP. Pour activer l'extension PDO sous les systèmes Unix ou Linux, vous devez ajouter la ligne suivante dans votre `php.ini` :

    extension=php_pdo.so

Pour activer l'extension PDO sous les systèmes Windows, vous devez ajouter la ligne suivante dans votre `php.ini` :

    extension=pdo.dll

# Drivers PDO

Les drivers suivants sont actuellement implémentés dans l'interface PDO :

Nom du driver | Bases de données supportées
--- | ---
PDO_FIREBIRD | Firebird/Interbase 6
PDO_MYSQL | MySQL 3.x/4.0
PDO_OCI | Oracle Call Interface
PDO_ODBC | ODBC v3 (IBM DB2 et unixODBC)
PDO_PGSQL | PostgreSQL
PDO_SQLITE | SQLite 3.x

# Classes pré-définies

## PDO

Représente une connexion entre PHP et un serveur de base de données.

### Constructeur

- PDO - construit un nouvel objet PDO

### Méthodes

- beginTransaction - démarre une transaction

- commit - valide une transaction

- exec - exécute une requête SQL et retourne le nombre de lignes affectées

- errorCode - récupère un code erreur s'il y en a de disponible depuis la base de données

- errorInfo - récupère un tableau d'informations d'erreurs s'il y en a de disponible depuis la base de données

- getAttribute - récupère un attribut de connexion à une base de données

- lastInsertId - récupère la valeur de la dernière ligne qui a été insérée dans la table

- prepare - prépare une requête SQL pour l'exécution

- query - exécute une requête SQL et retourne un jeu de résultats

- rollBack - annule une transaction

- setAttribute - définie un attribut de connexion à une base de données

## PDOStatement

Représente une requête préparée et, après son exécution, un jeu de résultats associatif.

### Méthodes

- bindColumn - lie une variable PHP à une colonne de sortie dans le jeu de résultats

- bindParam - lie une variable PHP à un paramètre dans la requête préparée

- columnCount - retourne le nombre de colonnes dans un jeu de résultats

- errorCode - récupère un code erreur s'il y en a depuis la requête

- errorInfo - récupère un tableau d'informations d'erreurs s'il y en a, depuis la requête

- execute - exécute une requête préparée

- fetch - récupère une ligne depuis un jeu de résultats

- fetchAll - récupère un tableau contenant toutes les lignes d'un jeu de résultats

- fetchSingle - retourne les données de la première colonne dans le jeu de résultats

- getAttribute - récupère un attribut PDOStatement

- getColumnMeta - récupère des méta-données pour une colonne dans le jeu de résultats

- rowCount - retourne le nombre de lignes qui ont été affectées par l'exécution d'un requête SQL

- setAttribute - définie un attribut PDOStatement

- setFetchMode - définie le mode de récupération pour un PDOStatement

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

`PDO_PARAM_NULL` (entier)

  Représente le type de données NULL SQL.

`PDO_PARAM_INT` (entier)

  Représente le type de données INTEGER SQL.

`PDO_PARAM_STR` (entier)

  Représente les types de données CHAR, VARCHAR ou les autres types de données sous forme de chaîne de caractères SQL.

`PDO_PARAM_LOB` (entier)

  Représente le type de données "objet large" SQL.

`PDO_PARAM_STMT` (entier)

`PDO_FETCH_LAZY` (entier)

  Spécifie que la méthode de récupération doit retourner chaque ligne en tant qu'objet avec les noms de variables correspondant aux noms des colonnes retournées dans le jeu de résultats. PDO_FETCH_LAZY crée les noms des variables de l'objet comme ils sont rencontrés.

`PDO_FETCH_ASSOC` (entier)

  Spécifie que la méthode de récupération doit retourner chaque ligne dans un tableau indexé par les noms des colonnes comme elles sont retournées dans le jeu de résultats correspondant.

`PDO_FETCH_NUM` (entier)

  Spécifie que la méthode de récupération doit retourner chaque ligne dans un tableau indexé par le numéro des colonnes comme elles sont retournées dans le jeu de résultats correspondant, en commançant à 0.

`PDO_FETCH_BOTH` (entier)

  Spécifie que la méthode de récupération doit retourner chaque ligne dans un tableau indexé par les noms des colonnes ainsi que leurs numéros, comme elles sont retournées dans le jeu de résultats correspondant, en commençant à 0.

`PDO_FETCH_OBJ` (entier)

  SPécifie que la méthode de récupération doit retourner chaque ligne dans un objet avec les noms de propriétés correspondant aux noms des colonnes comme elles sont retournées dans le jeu de résultats.

`PDO_FETCH_BOUND` (entier)

  Spécifie que la méthode de récupération doit retourner `TRUE` et assigner les valeurs des colonnes du jeu de résultats dans les variables PHP auxquelles elles sont liées avec la méthode PDOStatement::bindParam()() ou la méthode PDOStatement::bindColumn().

`PDO_FETCH_COLUMN` (entier)

  Spécifie que la méthode de récupération doit retourner uniquement une seule colonne demandée depuis la prochaine ligne du jeu de résultats.

`PDO_FETCH_CLASS` (entier)

  Spécifie que la méthode de récupération doit retourner une nouvelle instance de la classe demandée, liant les colonnes aux propriétés nommées dans la classe.

`PDO_FETCH_INTO` (entier)

  Spécifie que la méthode de récupération doit mettre à jour une instance existante de la classe demandée, liant les colonnes aux propriétés nommées dans la classe.

`PDO_ATTR_AUTOCOMMIT` (entier)

`PDO_ATTR_PREFETCH` (entier)

`PDO_ATTR_TIMEOUT` (entier)

`PDO_ATTR_ERRMODE` (entier)

`PDO_ATTR_SERVER_VERSION` (entier)

`PDO_ATTR_CLIENT_VERSION` (entier)

`PDO_ATTR_SERVER_INFO` (entier)

`PDO_ATTR_CONNECTION_STATUS` (entier)

`PDO_ATTR_CASE` (entier)

  Force les noms des colonnes dans une casse spécifiée par les constantes PDO_CASE_*.

`PDO_ATTR_CURSOR_NAME` (entier)

`PDO_ATTR_CURSOR` (entier)

`PDO_ATTR_ORACLE_NULLS` (entier)

`PDO_ATTR_PERSISTENT` (entier)

`PDO_ERRMODE_SILENT` (entier)

`PDO_ERRMODE_WARNING` (entier)

`PDO_ERRMODE_EXCEPTION` (entier)

`PDO_CASE_NATURAL` (entier)

  Laisse les noms de colonnes comme retournés par le driver de base de données.

`PDO_CASE_LOWER` (entier)

  Force les noms de colonnes en minuscule.

`PDO_CASE_UPPER` (entier)

  Force les noms des colonnes en majuscule.

`PDO_FETCH_ORI_NEXT` (entier)

  Récupère la prochaine ligne d'un jeu de résultats. Valide seulement pour les curseurs scrollables.

`PDO_FETCH_ORI_PRIOR` (entier)

  Récupère la ligne précédente d'un jeu de résultats. Valide seulement pour les curseurs scrollables.

`PDO_FETCH_ORI_FIRST` (entier)

  Récupère la première ligne d'un jeu de résultats. Valide seulement pour les curseurs scrollables.

`PDO_FETCH_ORI_LAST` (entier)

  Récupère la dernière ligne d'un jeu de résultats. Valide seulement pour les curseurs scrollables.

`PDO_FETCH_ORI_ABS` (entier)

  Récupère la ligne demandée par un numéro de ligne d'un jeu de résultats. Valide seulement pour les curseurs scrollables.

`PDO_FETCH_ORI_REL` (entier)

  Récupère la ligne demandé par une position relative à la position courante du curseur d'un jeu de résultats. Valide seulement pour les curseurs scrollables.

`PDO_CURSOR_FWDONLY` (entier)

  Crée un objet PDOStatement avec un curseur uniquement de retour. Cela accroit les performances de votre application mais restreint votre objet PDOStatement object à récupérer une seule ligne à la fois du jeu de résultats en arrière.

`PDO_CURSOR_SCROLL` (entier)

  Crée un objet PDOStatement avec un curseur scrollable. Passez la constante PDO_FETCH_ORI_* pour contrôler les lignes récupérées du jeu de résultats.

`PDO_ERR_CANT_MAP` (entier)

`PDO_ERR_SYNTAX` (entier)

`PDO_ERR_CONSTRAINT` (entier)

`PDO_ERR_NOT_FOUND` (entier)

`PDO_ERR_ALREADY_EXISTS` (entier)

`PDO_ERR_NOT_IMPLEMENTED` (entier)

`PDO_ERR_MISMATCH` (entier)

`PDO_ERR_TRUNCATED` (entier)

`PDO_ERR_DISCONNECTED` (entier)

`PDO_ERR_NO_PERM` (entier)

`PDO_ERR_NONE` (chaîne de caractères)

  Correspond à SQLSTATE '00000', ce qui signifie que la requête SQL a réussi sans erreur ni avertissement.

Précédent | Sommaire | Suivant
pdf_translate | Niveau supérieur | PDO::beginTransaction