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 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 synthaxe spécifique au driver PDO. Des exemples pour chaque driver sont données ci-dessous :

PDO_DBLIB

Le préfixe DSN est soit sybase:, soit mssql: dépendamment des librairies sur lesquelles il est lié au moment de la compilation.

sybase:host=localhost; dbname=testdb

mssql:host=localhost; dbname=testdb

PDO_FIREBIRD

firebird:User=john;Password=mypass;Database=DATABASE.GDE;DataSource=localhost;Port=3050

PDO_MYSQL

mysql:host=localhost;dbname=testdb

PDO_OCI

Pour se cnnecter via tnsnames.ora, utilisez :

oci:mydb

Si vous utilisez instantclient, utilisez :

oci:dbname=//localhost:1521/testdb

PDO_ODBC

odbc:DSN=SAMPLE;UID=john;PWD=mypass

DSN=SAMPLE se réfère à la source de données SAMPLE configurée dans le gestionnaire du driver ODBC.

PDO_PGSQL

pgsql:host=localhost port=5432 dbname=testdb user=john password=mypass

Notez qu'en passant user et password au DSN, les paramètres username et password deviennent optionnels. S'ils sont spécifiés, ils seront mis à la fin de la chaîne de connexion.

PDO_SQLITE

sqlite:/path/to/database

Pour créer une base de données en mémoire, utilisez :

sqlite::memory:

sqlite (version 2)

sqlite2:/path/to/database

Pour créer une base de données en mémoire, utilisez :

sqlite2::memory:

Note : Le driver PDO SQlite 2 fournit un accès aux anciennes bases de données SQlite 2 que vous avez créé avec les anciennes versions de PHP. Il est recommandé de migrer vers SQLite 3 (le driver PDO_SQLITE), car il possède plus de fonctionnalités et accroît les performance.

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.

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

?>

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

?>

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:54