Établir une connexion PDO

PDO, si vous faite un peu de PHP vous connaissez forcement depuis le temps…
Pour rappel, PDO = PHP Data Objects, classe PHP5 permettant de se connecter a quasiment tous les SGBD.

Oui, mais encore faut-il correctement s’y connecter a notre base de données !
Voici donc un exemple de connexion propre et qui ne vous posera jamais de problème d’encode ou de format …

Je pendrais toujours MySQL comme SGBD.

  1. Créez vos bases et tables en InnoDB et UTF-8
  2. Utiliser un éditeur qui sauvegarde vos scripts en UTF-8 (pas Dream quoi)
    Sinon ajouté en entête :

    header('Content-Type: text/html; charset=utf-8');
  3. Établir la connexion à la base de données et standardiser les formats et échanges entre PHP et le server :
    try {
        $dbh = new PDO('mysql:host=localhost;dbname=mydb', 'user', 'passwd');
        // Tous les noms de tables/champs en minuscules
        $dbh->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER);
        // Remonter une Exception lors d'erreur SQL
        $dbh->setAttribute(PDO::ATTR_ERRMODE , PDO::ERRMODE_EXCEPTION);
        // Définir le charset de la transaction (entre PHP et le server)
        $dbh->exec("SET NAMES utf8");
    } catch (PDOException $e) {
        die ('Une erreur MySQL est arrivée: ' . $e->getMessage());
    }
  4. Utilisez votre connexion… (sous oublier de vous protéger contre toutes injections …)
  5. Et on ferme la connexion (PHP s’en charge tous seul en fin d’éxécution, mais si l’on souhaite le faire avant):
    $dbh = null;

Bon dév 😉

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *