Manuel PHP
Précédent |  | Suivant

# mysql_fetch_assoc

(PHP 4 >= 4.0.3, PHP 5)

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, ou bien `FALSE` s'il ne reste plus de lignes à lire.

mysql_fetch_assoc() est équivalente à mysql_fetch_array() utilisée avec l'option MYSQL_ASSOC. Elle ne retourne qu'un tableau associatif. C'est le fonctionnement original de mysql_fetch_array(). Si vous avez besoin d'indices numériques, utilisez mysql_fetch_array().

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 mysql_fetch_array() et les indices numériques.

Une chose importante à noter est que mysql_fetch_assoc() N'est PAS significativement plus lente que mysql_fetch_row(), alors qu'elle apporte un confort d'utilisation important.

Pour plus de détails, reportez-vous à mysql_fetch_row() et mysql_fetch_array().

> Note : Les noms des champs retournés par cette fonction sont sensibles à la casse.

> Note : Cette fonction définie les champs NULL à la valeur PHP `NULL`.

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 d'accéder à la base de données : " . 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);
?>`

Voir aussi mysql_fetch_row(), mysql_fetch_array(), mysql_data_seek(), mysql_query() et mysql_error().

Précédent | Sommaire | Suivant
mysql_fetch_array | Niveau supérieur | mysql_fetch_field