mysql_fetch_assoc

(PHP 4 >= 4.0.3, PHP 5, PECL mysql:1.0)

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 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 1582. 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()