mysql_fetch_assoc
(PHP 4 >= 4.0.3, PHP 5)
mysql_fetch_assoc — Lit une ligne de résultat MySQL dans un tableau associatif
Cette extension est obsolète depuis PHP 5.5.0, et sera supprimée dans le futur. À la place, les extensions MySQLi ou PDO_MySQL doivent être utilisées. Voir aussi le guide MySQL : choix de l'API ainsi que la FAQ associée pour plus d'information. Voici les alternatives à cette fonction :
Description
$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 de chaînes
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.
Exemples
Exemple #1 Exemple avec mysql_fetch_assoc()
<?php $conn = mysql_connect("localhost", "mysql_user", "mysql_password"); 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
Note: 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
.
Voir aussi
- mysql_fetch_row() - Retourne une ligne de résultat MySQL sous la forme d'un tableau
- mysql_fetch_array() - Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
- mysql_data_seek() - Déplace le pointeur interne de résultat MySQL
- mysql_query() - Envoie une requête à un serveur MySQL
- mysql_error() - Retourne le texte associé avec l'erreur générée lors de la dernière requête