Journal du Net Développeur >  PHP >  PDO, l'abstraction de données pour PHP 5

PDO, l'abstraction de données pour PHP 5 > Usage standard

Précédente Usage avancé 
  Sommaire
 Introduction
 Usage standard

Comme l'on est en droit de l'attendre, utiliser PDO permet de se connecter à différentes bases de données avec une même fonction, en ne modifiant que certains arguments :

  1. // SQLite
  2. new PDO(‘sqlite:/chemin/vers/fichier_de_donnees');
  3. // MySQL
  4. new PDO(‘mysql:host=localhost;dbname=basededonnees', identifiant, motdepasse);
  5. // PostgreSQL
  6. new PDO(‘pgsql:host=localhost port=5432 dbname=basededonnees user=identifiant password=motdepasse');

De fait, il devient possible de prévoir l'accès à plusieurs sources de données.

  1. $dbid = 'identifiant';
  2. $dbmdp = 'motdepasse';
  3. $db = 'mysql:host=localhost;dbname=basededonnees';
  4. try {
  5.   $cnx = new PDO($db, $dbid, $dbmdp);
  6.   }
  7. catch (PDOException $dbex) {
  8.   die("Erreur de connexion : " . $dbex->getMessage() );
  9.   }

On pourra également leur assigner un nom, ou DSN (Data Source Name).

  1. ini_set("pdn.dsn.mabase", "‘mysql:host=localhost;dbname=basededonnees', identifiant, motdepasse");
  2. try {
  3.   $cnx = new PDO("mabase");
  4.   }
  5. catch (PDOException $dbex) {
  6.   die("Erreur de connexion : " . $dbex->getMessage() );
  7.   }

PDO s'utilise ensuite par le biais des méthodes de ses classes, dont les noms sont évocateurs : commit(), query(), exec(), fectch(), fetchColumn(), rowCount(), getInsertId(), rollBack()... Une fois connecté à la base, ces méthodes sont accessibles pour toutes les requêtes habituelles :

  1. $req = "INSERT INTO produits (nom, prix, exemplaires) VALUES ('Un lapin rose', 42, 210477)";
  2. $cnx->exec($req);
  3. $last_id = $cnx->lastInsertId();
  4.  
  5. $req = "SELECT * FROM produits";
  6. $res = $cnx->query($req);
  7. if ($res != FALSE) {
  8.   echo "Nous avons dans notre catalogue :<br/><ul>";
  9.   while ($row = $res->fetch()) {
  10.     echo "<li>$row->exemplaires $row->nom a $row->prix euros pièces</li>";
  11.     }
  12.   echo "</ul>";
  13.   }
  14. $cnx = NULL;
Les méthodes exec() et query() sont les plus utilisées. query() est à utiliser dans le cas où la requête doit renvoyer des informations. Les deux renvoient FALSE en cas d'erreur.
Précédente Retour au sommaire Suivante 
Introduction | Intérêts de PDO | Usage standard | Usage avancé
 
|
Haut de page
Nos autres sites Société | Mentions légales | Contacts | Publicité | PA Emploi | Presse | Recrutement | Tous nos sites | Données personnelles
© Benchmark Group, 69/71 avenue Pierre Grenier. 92517 Boulogne Billancourt Cedex