La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

CPI/BTS 2 Programmation Web PHP et les Bases de données Prog Web CPI/BTS2 – M. Dravet – 11/03/2004 Dernière modification: 11/03/2004.

Présentations similaires


Présentation au sujet: "CPI/BTS 2 Programmation Web PHP et les Bases de données Prog Web CPI/BTS2 – M. Dravet – 11/03/2004 Dernière modification: 11/03/2004."— Transcription de la présentation:

1 CPI/BTS 2 Programmation Web PHP et les Bases de données Prog Web CPI/BTS2 – M. Dravet – 11/03/2004 Dernière modification: 11/03/2004

2 PHP et les bases de données •PHP supporte une vingtaine de bases de données en natif •Possibilité d’en attaquer beaucoup d’autres à l’aide des drivers ODBC, ou plutot UODBC pour PHP (Universal ODBC) •Parmis les plus connues: dBase, DB2, Oracle, SQLServer, MySQL, PostGreSQL, Firebird …

3 PHP et les bases de données •Configuration de votre compte MySQL –Paramètres de connexion •Nom de la base: votre login avec un ‘_’ au lieu du ‘.’ •Login: votre login avec son ‘.’ •Pass: votre password de début d’année –Installation de phpMyAdmin •Créer un répertoire ‘web’ à la racine de votre répertoire utilisateur (attention aux majuscules: il n’en faut pas) •Décompresser l’archive de phpMyAdmin dans le répertoire web •Editer config.inc.php dans le répertoire de phpMyAdmin pour y ajouter vos identifiants de connexion à partir de la ligne ou il y a le mot ‘root’ (remplacer root par votre login et remplir les champs suivants).

4 PHP et les bases de données •Configuration de votre compte MySQL –Accèder à phpMyAdmin •URL publique •http://www.mtp.epsi.fr/~votre.login/web/phpMyAdmin-x-x-xhttp://www.mtp.epsi.fr/~votre.login/web/phpMyAdmin-x-x-x –Accèder à vos pages web •URL publique •http://www.mtp.epsi.fr/~votre.login/web

5 PHP et MySQL •MySQL –Gratuit pour une utilisation non commerciale –Documentation très complète et dans toutes les langues –Nombreux supports sous d’autres formes (forums, sites, mailing list …) –Proposé en standard par beaucoup d’hébergeurs Internet et de fournisseurs d’accès, ainsi que PHP –Limitations: requêtes imbriquées, triggers … –Le couple Apache/PHP/MySQL est aujourd’hui l’un des ensemble { serveur web, interpréteur dynamique, BD } les plus répandu, si ce n’est pas LE plus répandu

6 PHP et MySQL •Attaquer une BD MySQL via PHP •Créer un identifiant de connexion •Sélectionner une base de donnée à interroger sur le serveur MySQL •Construire une requête dans une chaîne de caractères •Envoyer cette requête au serveur MySQL via l’identifiant de connexion déjà créé, tout en récupérant une variable de résultat •A partir de cette variable de résultat, récupérer les informations retournées par le serveur MySQL (champs, valeurs …) •Les traiter

7 PHP et MySQL •Attaquer une BD MySQL via PHP –Création d’un identifiant de connexion •Fonction: mysql_connect •Paramètres: –ip/nom du serveur à interroger –Login de connexion –Password de connexion •Retourne un identifiant de connexion (variable normale) –Exemple: •$sql = mysql_connect(‘localhost’, ‘votre.login’, ‘votrepass’);

8 PHP et MySQL •Attaquer une BD MySQL via PHP –On peut tester si la fonction s’est bien déroulée, d’après la valeur de l’identifiant de connexion: •if (!$sql) die(‘Erreur de connexion MySQL: ‘. Mysql_error()); –Die() arrête l’exécution de la page PHP en écrivant un message d’erreur sur la page, passé en argument. –On peut aussi fairedu « tout en un »: •$sql = @mysql_connect(‘localhost’, ‘votre.login’, ‘votrepass’) \ or die (‘Erreur de connexion MySQL: ‘. Mysql_error());

9 PHP et MySQL •Attaquer une BD MySQL via PHP –Sélectionner votre BD sur le serveur •Fonction mysql_select_db •Paramètres: –Nom de la base de donnée voulu –Éventuellement un identifiant de connexion si nécessaire •Retourne un booléen –Exemple •If (!mysql_select_db(‘votre_base’)) die(‘Impossible d’utiliser la base’); •Si plusieurs liens SQL dans la page: –If (!mysql_select_db(‘votre_base’, $sql)) die(‘Impossible d’utiliser la base’);

10 PHP et MySQL •Attaquer une BD MySQL via PHP –Interroger votre BD: •Fonction mysql_query •Paramètres –La chaîne de caractères contenant la requête SQL –Éventuellement l’identifiant SQL si plusieurs liens dans la page •Retourne une ‘ressource’ utilisable par la suite –Exemple •$requete = ‘’select * from voiture where modele=‘206 RC’ ‘’ •$resultat = mysql_query($requete) •Ou: if (!$resultat = mysql_query($requete)) die(‘erreur de requete’. mysql_error());

11 PHP et MySQL •Attaquer une BD MySQL via PHP –Récupérer les résultats de la requête: •Fonction mysql_num_rows •Paramètre –La ressource résultat renvoyée par mysql_query •Retourne un entier symbolisant le nombre de lignes retournées par la requête

12 PHP et MySQL •Attaquer une BD MySQL via PHP –Récupérer les résultats de la requête: •Fonction mysql_affected_rows •Paramètre –Éventuellement la ressource résultat renvoyée par mysql_query •Retourne un entier symbolisant le nombre de lignes affectées par la requête •Cela concerne donc les requêtes comportant un INSERT, UPDATE ou DELETE puisqu’elles modifient (affectent) des enregistrements. •Si la ressource résultat n’est pas fournie, la fonction s’applique à la dernière requête émise sur la base, quelle qu’elle soit.

13 PHP et MySQL •Attaquer une BD MySQL via PHP –Récupérer les résultats de la requête: •Fonction mysql_fetch_row •Paramètre –la ressource résultat renvoyée par mysql_query •Retourne un tableau contenant une seule ligne de résultat. Un 2ème appel à la fonction retourne la 2ème ligne, etc. •Cela concerne donc les requêtes comportant un SELECT. –Exemple $resultat = mysql_query($requete); while($ligne = mysql_fetch_row($resultat)) echo ‘’Nom: ‘’. $ligne[0]. ‘’ ’’;

14 PHP et MySQL •Attaquer une BD MySQL via PHP –Multitude d’autres fonctions sur: •La documentation officielle PHP –http://www.php.net/manual/fr/ref.mysql.phphttp://www.php.net/manual/fr/ref.mysql.php –Syntaxes SQL: •La documentation officielle MySQL: –http://www.mysql.com/documentation/mysql/bychapter/manual_Language_Structure.html#La nguage_Structurehttp://www.mysql.com/documentation/mysql/bychapter/manual_Language_Structure.html#La nguage_Structure –http://www.mysql.com/documentation/mysql/bychapter/manual_Column_types.html#Column _typeshttp://www.mysql.com/documentation/mysql/bychapter/manual_Column_types.html#Column _types –http://www.mysql.com/documentation/mysql/bychapter/manual_Functions.html#Functionshttp://www.mysql.com/documentation/mysql/bychapter/manual_Functions.html#Functions –http://www.mysql.com/documentation/mysql/bychapter/manual_SQL_Syntax.html#SQL_Synt axhttp://www.mysql.com/documentation/mysql/bychapter/manual_SQL_Syntax.html#SQL_Synt ax

15 PHP et MySQL •Exercice n°1 –Créer des tables avec phpMyAdmin •Spécifier le nom de table, nombre de champs et valider •Définir les champs: nom, type, taille, valeur initiale, etc. •Ajouter quelques enregistrements dedans •Vous pouvez tester les champs ‘auto_increment’ pour les identifiants uniques. –Afficher le contenu de votre (vos) table(s) dans une page HTML a l’aide d’une requête SELECT *

16 PHP et MySQL •Exercice n°2 –Toujours avec vos tables MySQL, –Créez une page HTML avec un formulaire présentant soit une liste déroulante avec quelques valeurs dedans, ou un champ texte permettant de rentrer une valeur à la main –Sur le script PHP pointé par le formulaire, récupérer les valeurs sélectionnées dans la liste ou via le champ texte, et intégrez le à la requête SQL. Par exemple si je rentre ‘PEUGEOT’ dans le champ texte, je veux que la requête me retourne toutes les voitures de marque ‘PEUGEOT’ –Affichez le résultat via ce même script PHP

17 PHP et MySQL •Exercice n°3 –Toujours avec vos tables MySQL, –Créez un formulaire HTML permettant à l’utilisateur de spécifier les valeurs des champs importants d’une de vos tables (ex: la marque, le modèle, la cylindrée, puissance fiscale, date de 1ère immatriculation) –Le script PHP pointé par le formulaire construit une requête INSERT afin de créer un nouvel enregistrement avec les valeurs entrées dans le formulaire –Ce même script PHP indique ensuite dans la page HTML générée si la requête a été exécutée avec succès ou non.

18 PHP et MySQL •Exercice n°4 –Travaillez la mise en page de vos requêtes: •Savoir construire des tableaux HTML dynamiquement en fonction du nombre de lignes retournées par une requête SELECT


Télécharger ppt "CPI/BTS 2 Programmation Web PHP et les Bases de données Prog Web CPI/BTS2 – M. Dravet – 11/03/2004 Dernière modification: 11/03/2004."

Présentations similaires


Annonces Google