Académique Documents
Professionnel Documents
Culture Documents
Par O. Boutkhoum
PHP supporte un grand nombre de bases de données: Oracle, Sybase, Microsoft SQL Server, MySQL,
PostgreSQL, SQLite,….
PHP s'utilise bien souvent avec MySQL, un SGBD libre, gratuit, rapide et qui satisfait à la plupart des
sites Internet, même si il n'a pas encore toutes les potentialités des autres types de bases de données.
Pour la visualisation des tables et bases de données MySQL, nous allons utiliser phpMyAdmin qui est
une interface de gestion très simple d'utilisation.
2
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Interfaçage de MySql via le langage PHP
Utiliser MySQL avec PHP
Pour se connecter à MySQL via PHP on utilise une API qui définit les classes, méthodes, fonctions et
variables dont votre application va faire usage pour exécuter différentes tâches.
3
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. webProg.
Avancée SMI S6–/ SMI
web –Avancée F.S ElS6Jadida
/ F.S El Jadida
Interfaçage de MySql via le langage PHP
Etapes pour se connecter à une base de données
NB: Dans ce cours, nous choisissons l’extension mysqli_ , car elle est plus utilisée à nos jours.
4
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. webProg.
Avancée SMI S6–/ SMI
web –Avancée F.S ElS6Jadida
/ F.S El Jadida
Interfaçage de MySql via le langage PHP
Ouverture d'une connexion à MySQL
Pour se connecter à MySQL, on va utiliser cette fonction :
$bdd=mysqli_connect(serveur, utilisateur, mot_de_passe, baseDeDonnées);
5
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. webProg.
Avancée SMI S6–/ SMI
web –Avancée F.S ElS6Jadida
/ F.S El Jadida
Interfaçage de MySql via le langage PHP
Ouverture d'une connexion à MySQL
On peut tester si la connexion a réussi ou non :
<?php
$bdd=objet représentant la connexion au serveur MySQL, ou false en cas d'échec.
6
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. webProg.
Avancée SMI S6–/ SMI
web –Avancée F.S ElS6Jadida
/ F.S El Jadida
Interfaçage de MySql via le langage PHP
Les requêtes simples :
Le code de la requête est le suivant :
$resultat=mysqli_query($bdd, ‘requête');
◼ $resultat est la variable où seront stockées les données retournées (booléen ou résultat de SELECT,…).
◼ $bdd est la variable retournée par la fonction de connexion à la base de données (objet retourné par la
fonction mysqli_connect()).
◼ ‘requête' est une requête SQL.
mysqli_free_result($resultat);
◼ Permet de fermer le curseur afin de libérer les données récupérées lors d'une requête SQL.
Extract($array) : C'est une fonction qui permet de créer des variables à partir des éléments du tableau
$array, dont les noms des variables sont les indices/clés du tableau et ces valeurs sont les valeurs
associées aux indices/clés du tableau associatif.
8
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. webProg.
Avancée SMI S6–/ SMI
web –Avancée F.S ElS6Jadida
/ F.S El Jadida
Interfaçage de MySql via le langage PHP
Création d’une base de données avec PHPMyAdmin
Il faut d’abord se connecter à l’interface PHPMyAdmin via le lien http://localhost/phpmyadmin/ , puis remplir
les champs Utilisateur, Mot de passe et serveur comme illustré dans la figure suivante:
9
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. webProg.
Avancée SMI S6–/ SMI
web –Avancée F.S ElS6Jadida
/ F.S El Jadida
Interfaçage de MySql via le langage PHP
Création d’une base de données avec PHPMyAdmin
En utilisant phpMyAdmin, créer une base de données « bd_tp_php »:
➢ Méthode 1: via l’onglet « SQL»:
10
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. webProg.
Avancée SMI S6–/ SMI
web –Avancée F.S ElS6Jadida
/ F.S El Jadida
Interfaçage de MySql via le langage PHP
La création de la table via phpMyAdmin selon deux méthodes:
Méthode 1: a) Cliquer sur l’onglet «SQL», puis taper le script sql de création de la table.
11
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. webProg.
Avancée SMI S6–/ SMI
web –Avancée F.S ElS6Jadida
/ F.S El Jadida
Interfaçage de MySql via le langage PHP
La création de la table via phpMyAdmin selon deux méthodes:
Méthode 1: b) taper le script sql de création de la table et cliquer après sur «Exécuter».
12
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. webProg.
Avancée SMI S6–/ SMI
web –Avancée F.S ElS6Jadida
/ F.S El Jadida
Interfaçage de MySql via le langage PHP
La création de la table via phpMyAdmin selon deux méthodes:
Méthode 1: c) Résultats de l’exécution de la requête:
13
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. webProg.
Avancée SMI S6–/ SMI
web –Avancée F.S ElS6Jadida
/ F.S El Jadida
Interfaçage de MySql via le langage PHP
Création d’une table via phpMyAdmin :
Méthode 2: a) soit vous cliquer sur l’onglet «Structure» (après avoir déjà sélectionner la base de données
‘bd_tp_php’):
3
2
14
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. webProg.
Avancée SMI S6–/ SMI
web –Avancée F.S ElS6Jadida
/ F.S El Jadida
Interfaçage de MySql via le langage PHP
La création de la table via phpMyAdmin selon deux méthodes:
15
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. webProg.
Avancée SMI S6–/ SMI
web –Avancée F.S ElS6Jadida
/ F.S El Jadida
Interfaçage de MySql via le langage PHP
La création de la table via phpMyAdmin :
Essayer maintenant les fonctionnalités suivantes :
◼ Insertion des données ;
◼ Modifier la structure d’un champ (ajouter, supprimer ou modifier un champ, son type…) ;
◼ Vider ou supprimer la table ;
◼ Exporter /Importer la base de données.
16
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. webProg.
Avancée SMI S6–/ SMI
web –Avancée F.S ElS6Jadida
/ F.S El Jadida
Interfaçage de MySql via le langage PHP
Exemple 1: Requête de sélection et affichage des résultats
<?php NB: Les noms des champs renvoyés par cette fonction sont sensibles à la casse.
echo"<h1>Liste des étudiants</h1>";
$bdd=mysqli_connect("localhost", "root", "pwd", "bd_tp_php") or die(mysqli_connect_error());
$resultat=mysqli_query($bdd, 'SELECT * FROM etudiants');
while($donnee=mysqli_fetch_assoc($resultat)){
echo $donnee['matricule']." <br />";
echo $donnee['nom_etud']." <br />";
echo $donnee['prenom_etud']." <br />";
echo $donnee['date_nais']." <br />";
if ($donnee['sexe']=='M'){
echo 'Masculin <br />';
}else echo 'Féminin <br />';
echo "*********************<br>";
}
mysqli_free_result($resultat);
mysqli_close($bdd);
?> 17
Omar Boutkhoum –
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma
boutkhoum.o@ucd.ac.ma Prog. webProg.
Avancée SMI S6–/ SMI
web –Avancée F.S ElS6Jadida
/ F.S El Jadida
<h1>Liste des étudiants</h1>
<table>
TP récapitulatif
22
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. webProg.
Avancée SMI S6–/ SMI
web –Avancée F.S ElS6Jadida
/ F.S El Jadida