Requêtes MySQL en PHP Introduction Uniquement les requêtes de Manipulation des Données, et non les requêtes de Définition des Données. Les différents étapes pour exécuter une requête MySQL et lire les valeurs retournées : Etape 1 : Etape 2 : Etape 3 : Rappel : Une variable PHP contient l'écriture de la requête en langage MySQL. C'est une chaîne de texte, de délimiteur les guillemets doubles (habituellement). Les noms des tables et des champs sont délimités par les guillemets obliques. Une variable PHP contenu dans une chaîne de texte délimitée par des guillemets doubles, est remplacée par sa valeur. Une chaîne de texte contenue dans une requête MySQL, écrite dans une variable PHP doit être "échappée".
Requêtes MySQL en PHP Connexion au serveur MySQL Ouverture d'une connexion au serveur MySQL en programmation PHP sur le serveur Apache : 3 variables pour 3 paramètres : Serveur local sous EasyPHP Serveur distant mysql_connect( ) mysql_error( ) mysql_select_db( ) mysql_close( ) include " " $host $user $pass Traitement des erreurs @ , or die( ) , mysql_error( ) Sélection d'une base de données : 1 variable pour 1 paramètre : $bd Si l'ensemble des commandes ci-dessus est écrit dans un fichier PHP nommé connectDB.inc.php, par exemple, alors il est possible d'inclure ce fichier dans tout fichier PHP qui nécessite une connexion MySQL : Fermeture de la connexion au serveur MySQL :
Requêtes MySQL en PHP Exécution d'une requête MySQL Ecriture de la requête MySQL dans une variable PHP nommée $query : mysql_query( ) mysql_num_rows( ) mysql_affected_rows( ) mysql_insert_id( ) Exécution de la requête MySQL : Traitement des erreurs or die( ) , mysql_error( ) Nombre d'enregistrements retournés (requête SELECT) : Nombre d'enregistrements affectés (requête INSERT, UPDATE et DELETE) : Clef primaire créée en cas d'auto-incrément de celle-ci (uniquement requête INSERT) :
Requêtes MySQL en PHP Retour d'une requête MySQL Exploitation des résultats retournés par la requête MySQL, par ex. Cas d'un seul enregistrement attendu : mysql_result( ) mysql_fetch_array( ) Cas de plusieurs enregistrements retournés :
Requêtes MySQL en PHP Exemples Pratiques Représentation HTML de sélection de données MySQL : L'agence EdenVoyages souhaite connaître les clients ayant réservés un voyage pour le Pérou en automne. Afin d'établir le bilan financier du voyage, le coût du voyage par client sera calculée (nombre de personnes x prix unitaire), ainsi que le total pour l'ensemble des clients. Les résultats seront affichés dans un tableau HTML. Schéma d'exécution : Consultation du MCD : déduisez du MCD, les tables nécessaires à la requête, ainsi que les champs. Analysez les relations, formulez les critères de sélection des enregistrements. Ecrivez la requête MySQL, puis testez-là sous PHP MyAdmin. Programmation PHP – étapes : Connexion au serveur MySQL et sélection de la base de données Ecriture de la requête dans une variable PHP, exécution de la requête, nombre d'enregistrements retournés Lecture des résultats par une boucle while, calcul du coût par client, puis du total pour le voyage. Retranscription des résultats dans un tableau HTML