S. Lanquetin - L3 : Introduction Technologie pour le Web
19
Extraction des données (I)
! Affichage des résultats ligne par ligne.
SQL > SELECT * FROM etudiants;
ID NOM OPTION
----------------------------
1 arthur image 1ère ligne
2 clement multimedia 2ème ligne
3 vincent image pour multimedia 3ème ligne
! plusieurs valeurs=>tableau, tableau associatif, ou objet.
S. Lanquetin - L3 : Introduction Technologie pour le Web
20
Extraction des données (II)
mysql_fetch_row($result) : retourne une ligne de résultat sous la
forme d’un tableau. Les éléments du tableau étant les valeurs des
attributs de la ligne. Retourne FALSE s’il n’y a plus aucune ligne.
Exemple :
Ici, on accède aux valeurs de la ligne par leur indice dans le tableau.
$requet = "SELECT * FROM etudiants";
if($result = mysql_query($requet)) {
while($ligne = mysql_fetch_row($result)) {
$id = $ligne[0];
$nom = $ligne[1];
$option = $ligne[2];
echo "$id - $nom, $option <br />";
}
} else {
echo "Erreur de requête de base de données.";
}
S. Lanquetin - L3 : Introduction Technologie pour le Web
21
Extraction des données (III)
mysql_fetch_array($result) : retourne tableau et tableau associatif.
Exemple :
Ici, on accède aux valeurs de la ligne par l’attribut dans le tableau
associatif.
$requet = "SELECT * FROM etudiants";
if($result = mysql_query($requet)) {
while($ligne = mysql_fetch_array($result)) {
$id = $ligne["id"];
$nom = $ligne["nom"];
$option = $ligne["option"];
echo "$id - $nom, $option <br />";
}
} else {
echo "Erreur de requête de base de données.";
}
S. Lanquetin - L3 : Introduction Technologie pour le Web
22
Extraction des données (III)
mysql_fetch_assoc($result) : retourne un tableau associatif. Les
clés étant les noms des attributs et leurs valeurs associées leurs valeurs
respectives. Retourne FALSE s’il n’y a plus aucune ligne.
Exemple :
Ici, on accède aux valeurs de la ligne par l’attribut dans le tableau
associatif.
$requet = "SELECT * FROM etudiants";
if($result = mysql_query($requet)) {
while($ligne = mysql_fetch_assoc($result)) {
$id = $ligne["id"];
$nom = $ligne["nom"];
$option = $ligne["option"];
echo "$id - $nom, $option <br />";
}
} else {
echo "Erreur de requête de base de données.";
}
S. Lanquetin - L3 : Introduction Technologie pour le Web
23
Extraction des données (IV)
mysql_fetch_object($result) : retourne un objet. Les attributs
de l’objet correspondent à ceux de la ligne de résultat. Et les
valeurs des attributs de l’objet correspondent à ceux de la ligne
de résultat. Retourne FALSE s’il n’y a plus aucune ligne.
Exemple 3 :
Ici, on accède aux valeurs par leur attribut dans l’objet.
$requet = "SELECT * FROM etudiants";
if($result = mysql_query($requet)) {
while($ligne = mysql_fetch_object($result)) {
$id = $ligne->id;
$nom = $ligne->nom;
$option = $ligne->option;
echo "$id - $name, $address <br />";
}
} else {
echo "Erreur de requête de base de données.";
}
S. Lanquetin - L3 : Introduction Technologie pour le Web
24
Fonctions additionnelles
Quelques fonctions supplémentaires très utiles :
! mysql_free_result($result) : efface de la mémoire du
serveur les lignes de résultat de la requête identifiées par
$requet. Très utile pour améliorer les performances du serveur.
! mysql_insert_id([$id]) : retourne l’identifiant d’un attribut
clé primaire AUTO_INCREMENT de la dernière insertion.
! mysql_num_fields($result) : retourne le nombre d’attributs
du résultats.
! mysql_num_rows($result) : retourne le nombre de lignes du
résultats. Et ainsi permet de remplacer le while par un for.
Penser à bien tester la valeur de retour des fonctions
(mysql_query et les autres) afin de détecter toute erreur et
d’éviter les
Warnings
.