(PHP 4 >= 4.0.3, PHP 5)
mysql_fetch_assoc — Lit une ligne de résultat MySQL dans un tableau associatif
Avertissement
Cette extension
était obsolète en PHP 5.5.0, et a été supprimée en PHP 7.0.0. À la place, vous pouvez
utiliser l'extension MySQLi ou l'extension
PDO_MySQL. Voir aussi
MySQL : choisir une API du guide.
Alternatives à cette fonction :
- mysqli_fetch_assoc()
- PDOStatement::fetch(PDO::FETCH_ASSOC)
Description
mysql_fetch_assoc(resource
$result): array
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