PDO->__construct()
(PHP 5 >= 5.1.0, PECL pdo:0.1-1.0.3)
PDO->__construct() — Crée une instance PDO qui représente une connexion à une base de données
Description
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 nom de la source de données, ou DSN, contient l'information nécessaire pour se connecter à la base de données.
En général, un DSN consiste en un nom de driver PDO, suivit par deux points (:), suivit par la syntaxe spécifique au driver PDO. Plus d'informations sont fournies sur la documentation spécifique à chaque driver PDO.
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 contient le DSN complet.
- 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.uri:file:///path/to/dsnfile
- Utilisation d'un alias
-
dsn consiste en le nom name qui équivaut à pdo.dsn.name du php.ini définissant la chaîne DSN.
Note: L'alias doit être défini dans le php.ini et non pas dans un .htaccess, ni dans le httpd.conf.
- 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.
Erreurs / Exceptions
PDO->__construct() lance une PDOException si la tentative de connexion à la base de données échoue.
Exemples
Example#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();
}
?>
Example#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=john;PWD=mypass
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();
}
?>
Example#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] pdo.dsn.mydb="mysql:dbname=testdb;host=localhost"
<?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();
}
?>