mysql_fetch_assoc

(PHP 4 >= 4.0.3)

mysql_fetch_assoc --  Lit une ligne de résultats 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 de colonnes renvoyés par cette fonction sont sensibles à la casse.

Exemple 1. Exemple avec mysql_fetch_assoc()

<?php
    $conn
= mysql_connect("localhost", "mysql_user", "mysql_password");
    
    if (!
$conn) {
        echo
"Impossible de se connecter &agrave; la base de donn&eacute;es : " . mysql_error();
        exit;
    }
    
    if (!
mysql_select_db("mydbname")) {
        echo
"Impossible d'acc&eacute;der &agrave; la base de donn&eacute;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&eacute;cuter la requ&ecirc;te ($sql) dans la base : " . mysql_error();
        exit;
    }
    
    if (
mysql_num_rows($result) == 0) {
        echo
"Aucune ligne trouv&eacute;es, rien &agrave; 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&eacute;erez then create $userid, $fullname, and $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_query() et mysql_error().