PDO::__construct

(no version information, might be only in CVS)

PDO::__construct --  Crée une instance PDO qui représente une connexion à une base de données

Description

PDO PDO::__construct ( string dsn [, string username [, string password [, array driver_options]]] )

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

PDO::__construct() crée une instance PDO qui représente une connexion à la base de données désirée.

Liste de paramètres

dsn

Le paramètre dsn supporte trois méthodes différentes de spécification des arguments requis pour créer une connexion à une base de données :

Invocation du Driver

dsn consiste en le nom du driver PDO, suivi par deux points (:), suivi par la syntaxe spécifique de connexion du driver PDO. Par exemple, 'odbc:DSN=SAMPLE;UID=db2inst1;PWD=ibmdb2' créera une connexion PDO_ODBC à une base de données ODBC, tandis que 'mysql:host=127.0.0.1;dbname=testdb' créera une connexion PDO_MYSQL à une base de données MySQL.

Invocation d'une URI

dsn consiste en l'uri: suivi par une URI qui définie l'emplacement d'un fichier contenant la chaîne DSN. L'URI peut spécifier un fichier local ou une URL distante.

Utilisation d'un alias

dsn consiste en le nom name qui équivaut à pdo.dsn.name du php.ini définissant la chaîne DSN. name ne doit pas contenir de doubles points (:).

username

Le nom d'utilisateur pour la chaîne DSN. Ce paramètre est optionnel pour quelques drivers PDO.

password

Le mot de passe pour la chaîne DSN. Ce paramètre est optionnel pour quelques drivers PDO.

driver_options

Un tableau clé=>valeur contenant les options de connexion spécifiques au driver.

Valeurs de retour

Retourne un objet PDO en cas de succès.

Exceptions

PDO::construct() lance une PDOException si la tentative de connexion à la base de données échoue.

Exemples

Exemple 1. Crée une instance PDO via une invocation de driver

<?php
/* Connexion à une base de données ODBC en invoquant un driver */
                   
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
try {
  
$dbh = new PDO($dsn, $user, $password);
}
catch (PDOException $e) {
  echo
'Echec de la connexion : ' . $e->getMessage();
}
?>

Exemple 2. Création d'une instance PDO par invocation d'une URI

L'exemple suivant présume que le fichier /usr/local/dbconnect existe et que PHP y a les droits de lecture. Le fichier contient le DSN PDO pour se connecter à une base de données DB2 via le driver PDO_ODBC :

odbc:DSN=SAMPLE;UID=db2inst1;PWD=password

Le script PHP peut maintenant créer une connexion à la base de données en passant simplement le paramètre uri: pointant vers le fichier URI :

<?php
     
/* Connexion à une base de données ODBC en invoquant un driver */
                            
$dsn = 'uri:file:///usr/local/dbconnect';
$user = '';
$password = '';
try {
  
$dbh = new PDO($dsn, $user, $password);
}
catch (PDOException $e) {
  echo
'Echec de la connexion : ' . $e->getMessage();
}
?>

Exemple 3. Création d'une instance PDO en utilisant un alias

L'exemple suivant présume que le php.ini contient l'entrée suivante pour activer une connexion à une base de données MySQL en utilisant uniquement l'alias mydb:
pdo.dsn.mydb=mysql:dbname=testdb;host=127.0.0.1

<?php
/* Connexion à une base de données ODBC en utilisant un alias */
                                     
$dsn = 'mydb';
$user = '';
$password = '';
try {
  
$dbh = new PDO($dsn, $user, $password);
}
catch (PDOException $e) {
  echo
'Echec de la connexion : ' . $e->getMessage();
}
?>