PHP mySQL Extension php_mysql Connexion à une base de données • Établir une connexion mysql_connect(string server, string username, string password) – permet à PHP d’utiliser MySQL avec les privilèges en lecture / écriture de l’utilisateur username – l'entier que renvoie cette fonction est un id de ressource connexion persistante • Établir une connexion persistante mysql_pconnect(string server, string username, string password) – Les connexions persistantes ne sont pas fermées à la fin de l’exécution du script. – L’entier renvoyé par cette fonction est aussi un id de ressource. sélection d'une base de données • Sélectionner un base de données mysql_select_db(string database [, id ressource identifier]) – utilise éventuellement une connexion précédemment ouverte • Fermer une connexion mysql_close([id ressource identifier]) Exemple typique if(mysql_connect("localhost","root","monpass")) { if(mysql_select_db("ma base")) { echo « connexion réussie »; mysql_close(); } else { die("Cette Base de données n'existe pas"); } } Else { die("Echec de connexion au serveur!"); } Exemple concis @mysql_connect("localhost","root","monpass")) or die("Echec connexion !"); @mysql_select_db("ma base") or die « impossible de sélectionner »); @mysql_close(); Exécuter du code SQL • Passer une requête SQL au serveur mysql_query(string query [,id ressource identifier]) – renvoie l'état de l'exécution de la requête pour les commandes de type INSERT INTO, UPDATE, DELETE, etc (true en cas de succès, ou false en cas d'échec) – renvoie un identificateur de résultat (result_identifier) dans le cas d'une requête de sélection Parcours de d’un requête de sélection • Parcourir le résultat d’une requête de sélection ligne par ligne – mysql_fetch_row ( ressource result_identifier) – retourne une ligne du résultat de la requête sous la forme d’un tableau indexé par des entiers et passe à la suivante Parcours de résultat typique if($result=mysql_query("select nom, prenom from personne")) { while($ligne=mysql_fetch_row($result)) { echo "Nom : ".$ligne[0]."<br />"; echo "Prénom : ".$ligne[1] ."<br />"; } } Parcours de d’un requête de sélection • Parcourir le résultat d’une requête de sélection ligne par ligne – mysql_fetch_assoc ( ressource result_identifier) – retourne une ligne du résultat de la requête sous la forme d’un tableau indexé par le noms des champs sélectionnés par la requête Parcours de résultat typique if($result=mysql_query("select nom, prenom from personne")) { while($ligne=mysql_fetch_assoc($result)) { foreach($ligne AS $champs => $valeur) { echo $champs." : ".$valeur."<br />"; } } } Parcours de d’un requête de sélection • Parcourir le résultat d’une requête de sélection ligne par ligne – mysql_fetch_object ( ressource result_identifier) – retourne une ligne du résultat de la requête sous forme d'un objet ayant pour propriété le nom des champs sélectionnés par la requête Parcours de résultat typique if($result=mysql_query("select nom, prenom from personne")) { while($obj=mysql_fetch_object($result)) { echo "Nom : ".$obj->nom."<br />; echo "Prénom : ".$obj->prenom ."<br />"; } } Fonctions utiles • récupérer les nombres de champs du résultat mysql_num_fields(resource result_identifier) • récupérer les nombre de lignes du résultat mysql_num_rows(resource result_identifier) • récupérer le nombre de lignes affectées lors de la dernière commande mysql_affected_row(resource link_identifier) – comme mysql_num_rows pour un SELECT