Vous êtes ici > Liste des fonctions PHP et MySQL > Description de la fonction mysql_fetch_assoc()

Accès au manager - réservé aux membres

Navigation

Moteurs de recherches sur les fonctions

Lancer une recherche sur les fonctions php et mysql

recherche

Fonction mysql_fetch_assoc()

Définition


Lit une ligne de résultat MySQL dans un tableau associatif - (PHP 4 >= 4.0.3, PHP 5, PECL mysql:1.0)

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



Bouts de code utilisant la fonction mysql_fetch_assoc()

Classe de connexion à Mysql en PHP5

<?php /* ... */
             if (!$Ressource and $this->Deboguethrow new Erreur ('Erreur de requête SQL!!!');
            while ($Ligne mysql_fetch_assoc($Ressource))
            {
/* ... */ ?>


Récupérer la place perdue dans une base de données MySQL

<?php /* ... */
$req mysql_query('SHOW TABLE STATUS'$lk);
while($data mysql_fetch_assoc($req)) {
    //on regarde seulement les tables qui affichent des pertes
/* ... */ ?>


Code pour convertir dans un format Latin ou UTF8

<?php /* ... */
    $rs mysql_query(" SHOW FULL FIELDS FROM '$table' ") or die(mysql_error());
    while ($row=mysql_fetch_assoc($rs)) {
        if ($row['Collation']!=$convert_from)
/* ... */ ?>


Vérifier si un pseudo existe déjà dans la table

<?php /* ... */
    $res  mysql_query($sql);
    $alors  mysql_fetch_assoc($res);
  // UNE BOUCLE POUR INFORMER L'UTLISATEUR
/* ... */ ?>


bilan rapide sur ses tables et leurs contenus

<?php /* ... */
            // affiche le nombre de champs dans la table
            while ($contenu mysql_fetch_assoc($champ))
                  {
/* ... */ ?>


Poster un commentaire

:P :) :wink: :lol: :surprised: :confused: :mad: :no:
Taille du texte:
Couleur:
Code de sécurité