Jérôme CUTRONA jerome.cutrona@univ-reims.fr PHP et bases de données Jérôme CUTRONA jerome.cutrona@univ-reims.fr 01:07:51 Programmation Web 2012-2013
Utilisation de MySQL (ou autre) avec PHP Réseau Client Navigateur HTML JavaScript CSS Serveur Autre serveur PostgreSQL Serveur Web .html .php MySQL Module PHP Oracle … MySQL 01:07:51 Programmation Web 2012-2013
Serveur MySQL - Principe Pour qu’un utilisateur puisse effectuer des requêtes il doit : S’identifier sur le serveur MySQL Choisir la base de données de travail Effectuer la requête Récupérer et parcourir le résultat de la requête Il existe des fonctions PHP permettant d’effectuer toutes ces opérations 01:07:51 Programmation Web 2012-2013
Fonctions MySQL en PHP S’identifier sur le serveur MySQL mysql_connect(server, [username], [password]) Retourne un identifiant de connexion ou false Choisir la base de données de travail mysql_select_db(database_name, [link_identifier]) Retourne true ou false Utilise par défaut la dernière base de données active Effectuer la requête mysql_query(query, [link_identifier]) Retourne le résultat ou false 01:07:51 Programmation Web 2012-2013
Fonctions MySQL en PHP Parcourir le résultat de la requête SELECT * FROM morceau ORDER BY mor_id Résultat de requête Curseur interne +--------+------------------------------------+ | mor_id | mor_nom | | 872 | With A Little Help From My Friends | | 873 | The Letter | | 874 | Marjorine | | 875 | Midnight Rider | | 876 | You Are So Beautiful | | 877 | Feelin' Allright | | 878 | Cry Me A River | ... 01:07:51 Programmation Web 2012-2013
Fonctions MySQL en PHP Parcourir le résultat de la requête mysql_fetch_method(result_identifier) Retourne une ligne de résultat ou false Le format de la ligne retournée est fonction de method : mysql_fetch_row(result_identifier) ligne de résultat sous forme de tableau mysql_fetch_assoc(result_identifier) ligne de résultat sous forme de tableau associatif mysql_fetch_array(result_identifier, [type] ) mysql_fetch_object(result_identifier) ligne de résultat sous forme d'objet MYSQL_ASSOC : Tableau associatif MYSQL_NUM : Tableau indexé MYSQL_BOTH : Tableau indexé ET associatif 01:07:51 Programmation Web 2012-2013
Fonctions MySQL Dernière erreur Fermeture de connexion mysql_error([link_identifier]) Retourne l'erreur MySQL Utilise par défaut la dernière base de données active Fermeture de connexion mysql_close([link_identifier]) Ferme la connexion MySQL 01:07:51 Programmation Web 2012-2013
Fonctionnalités indispensable à définir La connexion est habituellement la même dans tous les scripts PHP d’une même application Il convient de n’exécuter qu’une seule par script : mysql_connect(server, username, password); mysql_select_db(database_name); Il convient de gérer les erreurs de connexion Il convient de gérer les erreurs des requêtes SQL Réponse classique : Patron de conception (design pattern) singleton 01:07:51 Programmation Web 2012-2013