mysql_fetch_assoc -- Lit une ligne de résultat MySQL dans un tableau associatif
Description
array mysql_fetch_assoc ( resource result )
mysql_fetch_assoc() retourne un tableau associatif
qui contient la ligne lue dans le résultat result et
déplace le pointeur interne de données.
mysql_fetch_assoc() revient à appeler la fonction
mysql_fetch_array() avec MYSQL_ASSOC
en tant que second paramètre. Cette fonction retourne uniquement
un tableau associatif.
Liste de paramètres
result
La ressource de résultat
qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction
mysql_query().
Valeurs de retour
Retourne un tableau associatif
qui contient la ligne lue dans le résultat result,
ou bien FALSE s'il ne reste plus de lignes à lire.
Si plusieurs colonnes portent le même nom, la dernière aura la priorité.
Pour accéder aux autres colonnes du même nom, vous devez utiliser
la fonction mysql_fetch_row() avec les indices numériques
ou utiliser les alias sur les noms.
Regardez la documentation sur la fonction mysql_fetch_array()
pour plus d'informations sur les alias.
if (!$conn) { echo "Impossible de se connecter à la base de données : " . mysql_error(); exit; }
if (!mysql_select_db("mydbname")) { echo "Impossible de sélectionner la base mydbname : " . mysql_error(); exit; }
$sql = "SELECT id as userid, fullname, userstatus FROM sometable WHERE userstatus = 1";
$result = mysql_query($sql);
if (!$result) { echo "Impossible d'exécuter la requête ($sql) dans la base : " . mysql_error(); exit; }
if (mysql_num_rows($result) == 0) { echo "Aucune ligne trouvée, rien à afficher."; exit; }
// Tant qu'une ligne existe, place cette ligne dans la variable $row // sous la forme d'un tableau associatif. // Note : Si vous n'attendez qu'une seule ligne, oubliez la boucle // Note : Si vous utilisez extract($row); dans la boucle suivante // vous créerez $userid, $fullname et $userstatus while ($row = mysql_fetch_assoc($result)) { echo $row["userid"]; echo $row["fullname"]; echo $row["userstatus"]; }
mysql_free_result($result);
?>
Notes
Performance :
Une chose importante à noter est que l'utilisation de
mysql_fetch_assoc() n'est pas
significativement plus lent que l'utilisation de
mysql_fetch_row(), alors qu'il fournit
des valeurs significatives ajoutées.
Note : Les noms des champs retournés par
cette fonction sont sensibles à la casse.
Note : Cette fonction définit les champs NULL à la
valeur PHP NULL.