Forum und email

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
PDO __construct ( string $dsn [, string $username [, string $password [, array $driver_options ]]] )

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();
}

?>