Un rapide billet sur “comment faire simplement une requête SQL en contrôlant qu’elle soit correctement exécutée”.
Le code commenté est à la suite :
L’exemple se base sur un simple SELECT (afficher, sélectionner) depuis une table nommée “temp_table”. Le rollback n’a aucun intérêt dans l’exemple mais il peut vous sauver la vie si vous effectuez un “update” ou “insert” ou encore “alter”…
- Connexion à la base de données
- Récupération de la table
- Affichage du résultat
- Déconnexion de la base de données
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
<?php // Created by Julien VIDA on 2012-07-17. // Copyright 2012 Julien VIDA. All rights reserved. /* On passe les paramètres de la DB dans différents define pour pouvoir les utiliser ailleurs, au cas où. */ define('DB_USER', 'Utilisateur', TRUE); define('DB_PASS', 'MotDePasse', TRUE); define('DB_NAME', 'NomBaseDeDonnées', TRUE); define('DB_HOST', 'AdresseServeurDeDonnées', TRUE); define('DB_TYPE', 'TypeBase', TRUE); // mysql // Connexion $pdo = new PDO(DB_TYPE . ":host=". DB_HOST .";dbname=" . DB_NAME, DB_USER, DB_PASS); // Exception en cas d'erreur $pdo -> SetAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo -> beginTransaction(); echo '<pre>'; try { // Requête $result = $pdo -> query("SELECT * FROM `temp_table`;"); // Afficher le résultat foreach ($result as $key => $value) { echo $key . ' => ' . $value; echo '<br/>'; } // Execution de la requête $pdo -> commit(); } catch (PDOException $e) { // Si échec, en cours de traitement // annulation des modifes faites si dessus $pdo -> rollback(); } echo '</pre>'; // Déconnexion unset($pdo); #ou $pdo = NULL; ?> |