Les connexions sont établies en créant des instances de la classe de base de PDO. Peu importe quel pilote nous voulons utiliser ; nous utilisez toujours le nom de la classe PDO. Le constructeur accepte des paramètres pour spécifier la source de la base de données (connue en tant que DSN) et optionnellement, le nom d’utilisateur et le mot de passe (s’il y en a un).

Exemple #1 Connexion à MySQL

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
?>

//Si le il n'y a pas de mdp laisser le champ '$pass' vide.

 

S’il y a des erreurs de connexion, un objet PDOException est lancé. Vous pouvez attraper cette exception si vous voulez gérer cette erreur, ou laisser le gestionnaire global d’exception défini via la fonction set_exception_handler() la traiter.

Exemple #2 Gestion des erreurs de connexion

<?php
try {
    $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
    foreach($dbh->query('SELECT * from FOO') as $row) {
        print_r($row);
    }
    $dbh = null;
} catch (PDOException $e) {
    print "Erreur !: " . $e->getMessage() . "<br/>";
    die();
}
?>

Lorsque la connexion à la base de données a réussi, une instance de la classe PDO est retournée à votre script. La connexion est active tant que l’objet PDO l’est. Pour clore la connexion, nous devons détruire l’objet en nous assurant que toutes ses références sont effacées. Nous pouvons faire cela en assignant NULL à la variable gérant l’objet. Si nous ne le faisons pas explicitement, PHP fermera automatiquement la connexion lorsque le script arrivera à la fin.

Exemple #3 Fermeture d’une connexion

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
// utiliser la connexion ici


// et maintenant, fermez-la !
$dbh = null;
?>