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 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.

## 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

> 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()
mysql_fetch_array()
mysql_data_seek()
mysql_query()
mysql_error()

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