La lecture à portée de main
Description
Informations
Publié par | Unko |
Nombre de lectures | 73 |
Langue | Français |
Extrait
Cours 6
Pages Web dynamiques
et Bases de Données
•PHP et MySQL
• Session et cookies PHP
Inspiré du cours de Hugo Etiévant et de celui de Lionel Seinturier
1PHP et MySQL
2Page web statique
3) affiche XXX.html
navigateur
0) Donne-moi la page web qui s’appelle XXX.html
serveur web
1) Lecture du disque 2) Retourne XXX.html
3Page web dynamique
4) affiche la page HTML
navigateur
0) Donne-moi la page web qui s’appelle XXX.php
serveur web
1) Appel à un programme
3) Retourne la page HTML
Programme
php
2) Fabrication de la page
au format HTML
4Page web dynamique avec BD
5) Affiche la page HTML
navigateur
0) Donne-moi la page web qui s’appelle XXX.php
serveur web
1) Appel à un programme
4) Retourne la page HTML
Programme
3) Fabrication de la page
au format HTML
php
2) Extraction des données
BD
serveur de données
MySQL
5ƒ
ƒ
Accès à une base MYSQL
mysql_XXX(param1,param2,… ); // accède à une BD MySQL
• PHP comporte un ensemble de fonctions permettant à un script
PHP d’utiliser une base MySQL
Toutes les fonctions sont de la forme mysql_XXX
Ex : mysql_select(’SELECT * FROM Coureur’);
• Quelque soit la fonction utilisée, on ne peut pas l’utiliser
directement. Il faut suivre un protocole d’accès à la base.
6Protocole d’accès à Mysql
BD MySQL
serveur web serveur de données
1) Demande de connexion
à un serveur MySQL sur un compte utilisateur donné
2) Sélection d’une base appartement à l’utilisateur
connecté à MySQL
3) Envoi d’instructions SQL (create, insert, update,
select,etc.)
4) Déconnexion du serveur
7ƒ
ƒ
ƒ
Connexion
mysql_connect(…); // établit une connexion
mysql_select_db(…); // sélectionne une base
mysql_close(…); // ferme une connexion
• Pour se connecter à une base depuis php, il faut spécifier un nom
de serveur, un nom d’utilisateur, un mot de passe et un nom de
base.
• Les fonctions de connexion :
mysql_connect($server,$user,$password) : permet de se connecter au
serveur $server en tant qu’utilisateur $user avec le mot de passe
$password, retourne l’identifiant de connexion $idcon si succès, FALSE
sinon
mysql_select_db($base,$idcon) : permet de choisir la base $base, en
connaissant l’identifiant d’une connexion établie $idcon. Retourne TRUE
en cas de succès, sinon FALSE
mysql_close($idcon) : permet de fermer la connexion d’identifiant $idcon
8Connexion
• Exemple 1 :
if( $id = mysql_connect("localhost ", "dupont", "1234") ) {
if( $id_db = mysql_select_db("lenomdemabase") ) {
echo "Succès de connexion.";
/* code du script … */
} else {
die("Echec de connexion à la base.");
}
mysql_close($id);
} else {
die("Echec de connexion au serveur de base de données.");
}
9ƒ
ƒ
ƒ
Instructions SQL
$result = mysql_query("instruction SQL"); // envoie une instruction SQL
• Pour envoyer une requête à une base de donnée, mysql_query($str) prend
pour paramètre une chaîne de caractères qui contient la requête écrite en SQL
$str doit avoir exactement la même syntaxe que si elle était directement écrite dans
phpmyadmin par exemple.
Attention à ne pas oublier les apostrophes à gauche autour des identifiants et les
apostrophes à droite autour des chaînes de caractères.
Attention, les requêtes MySQL ne se terminent pas par un point virgule ‘;’
• Exemples :
$result1 = mysql_query("INSERT into users ('Jean', 'Dupont')");
$result2 = ("SELECT * FROM users");
10