LYCEE ICOF / STG –SIG corrigé PHP – BDD PHP et bases de

Transcription

LYCEE ICOF / STG –SIG corrigé PHP – BDD PHP et bases de
LYCEE ICOF / STG –SIG
corrigé
PHP – BDD
PHP et bases de données
Le langage PHP a l’avantage de permettre l’interrogation de différents formats de
bases de données, en particulier les bases mySql.
Il suffit d’intégrer les instructions SQL dans le code de la page pour obtenir la
réponse, à condition de respecter la syntaxe appropriée.
Créer la base de données Tgsi en important le script script_tgsi.sql dans
PHPmyadmin.
•
•
•
Ouvrir la page base1.php dans votre navigateur.
Ouvrir la page base1.php dans votre éditeur.
consultez la fiche n°15 p128 pour comprendre la syntaxe des fonctions
MySQL.
Questions :
1. Quel est le nom du serveur qui héberge la base de données ?
On ne connait pas le nom du serveur, il est désigné par son adresse IP :
127.0.0.1
localhost
2. Quel est le nom de la base de données interrogée ?
Le nom de la base de données est tsig
Tgsi
3. Quel est le nom de l’utilisateur qui se connecte à la base ?
le nom de l’utilisateur qui se connecte à la base est eleve
Eleve
4. Quel est le mot de passe de l’utilisateur qui se connecte à la base ?
le mot de passe de l’utilisateur qui se connecte à la base est stmgsig
Stggsi
5. Quels sont les arguments de la fonction Mysql_connect() ? a quoi sert-elle?
Nom du serveur, nom de l'utilisateur qui se connecte à Mysql, mot de passe.
Cette fonction sert à se connecter à Mysql.
6. Quelle est la ligne de code qui permet d’accéder à la base de données ?
C’est la ligne :
$bd1=mysql_select_db('tsig')
$bd1=mysql_select_db('tgsi') or die("Désolé, connexion à la base impossible");
7. Remplacez $bd1=mysql_select_db('tgsi') par $bd1=mysql_select_db('tghsi').
Que se passe-t-il ?
Un message d’erreur est affiché : Désolé, connexion impossible au serveur !
Le message d’erreur « Désolé, connexion à la base impossible » s’affiche.
8. Quelle est la fonction qui renvoie un message d’erreur si la connexion est
impossible ?
C’est la fonction die
Fonction die()
9. Modifier le script pour que le message d’erreur soit : "vous avez sûrement fait
une erreur dans le nom de la base".
Il suffit de mettre ce texte comme argument de la fonction die()
Remettez la ligne $bd1=mysql_select_db('tsgi') pour que la connexion réussisse.
1
LYCEE ICOF / STG –SIG
corrigé
10. Quelle est la requête qui permet d’obtenir, entre autres, la liste des noms
affichés ?
select nom_eleve from eleve oder by nom_eleve;
"select * from eleve order by nom_eleve;";
11. Quel est le contenu de la variable $sql1?
la variable $sql1 contient la requête, c’est une chaîne alphanumérique
Elle stocke la requête sous forme de chaîne de caractères.
12. Quel est le rôle de la fonction Mysql_query ? quel est son argument?
le rôle de la fonction Mysql_query est d’exécuter la requête, elle a un
argument, la requête
elle exécute la requête SQL. Elle prend la requête sous forme de chaîne comme
argument.
13. Quel est le contenu de la variable $res1 ?
elle stocke le résultat de la requête sous cette forme :
nom_eleve
Martin
Dupont
---------------------------------------14. Quel est le rôle de la fonction Mysql_fetch_array (à faire avec eux)
elle stocke les enregistrement résultats de la requête dans un tableau de ce type :
premier passage dans la boucle :
nom_eleve
Martin
Deuxième passage dans la boucle :
nom_eleve
Dupont
15. Quel est le type de la variable $uneligne ?
C’est un tableau associatif
c'est un tableau.
On l'atteint grâce son indice, cad le nom du champ (nom_eleve)
16. Quel est le rôle de la boucle While ?
elle permet de traiter tous les enregistrements tour à tour
17. Compléter le code pour afficher également les prénoms.
MODIFICATION DE LA REQUETE :
select nom_eleve, prenom_eleve from eleve oder by nom_eleve;
RECUPERATION DU NOM POUR AFFICHAGE :
$prenom=$uneligne['prenom_eleve'] ;
echo "$prenom <br />" ;
2