mysqli_result::fetch_assoc
mysqli_fetch_assoc
(PHP 5)
mysqli_result::fetch_assoc -- mysqli_fetch_assoc — Récupère une ligne de résultat sous forme de tableau associatif
Description
Style orienté objet
Style procédural
Retourne un tableau associatif qui correspond à la ligne
récupérée ou NULL
s'il n'y a plus de ligne.
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
.
Liste de paramètres
-
result
-
Style procédural uniquement : Un identifiant de jeu de résultats retourné par la fonction mysqli_query(), mysqli_store_result() ou mysqli_use_result().
Valeurs de retour
Retourne un tableau associatif de chaînes représentant la prochaine
ligne dans le jeu de résultats représenté par le paramètre
result
, où chaque clé du
tableau représente le nom d'une colonne du résultat ou
NULL
s'il n'y a plus de ligne dans le jeu de résultats.
Si deux ou plus colonnes dans le jeu de résultat ont le même nom, le tableau associatif retourné par la fonction mysqli_fetch_assoc() ne contiendra que la valeur de la dernière colonne de ce nom. Si vous devez travailler avec des jeux de résultats ayant cette particularité, la fonction mysqli_fetch_row() qui retourne un tableau indexé doit être utilisée à la place.
Exemples
Exemple #1 Style orienté objet
<?php $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); /* Vérification de la connexion */ if (mysqli_connect_errno()) { printf("Échec de la connexion : %s\n", mysqli_connect_error()); exit(); } $query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5"; if ($result = $mysqli->query($query)) { /* Récupère un tableau associatif */ while ($row = $result->fetch_assoc()) { printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]); } /* Libération des résultats */ $result->free(); } /* Fermeture de la connexion */ $mysqli->close(); ?>
Exemple #2 Style procédural
<?php $link = mysqli_connect("localhost", "my_user", "my_password", "world"); /* Vérification de la connexion */ if (mysqli_connect_errno()) { printf("Échec de la connexion : %s\n", mysqli_connect_error()); exit(); } $query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5"; if ($result = mysqli_query($link, $query)) { /* Récupère un tableau associatif */ while ($row = mysqli_fetch_assoc($result)) { printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]); } /* Libération des résultats */ mysqli_free_result($result); } /* Fermeture de la connexion */ mysqli_close($link); ?>
<?php $c = mysqli_connect('127.0.0.1','user', 'pass'); // Utilisation d'itérateurs (support ajouté en PHP 5.4) foreach ( $c->query('SELECT user,host FROM mysql.user') as $row ) { printf("'%s'@'%s'\n", $row['user'], $row['host']); } echo "\n==================\n"; // Sans utiliser les itérateurs $result = $c->query('SELECT user,host FROM mysql.user'); while ($row = $result->fetch_assoc()) { printf("'%s'@'%s'\n", $row['user'], $row['host']); } ?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
'root'@'192.168.1.1' 'root'@'127.0.0.1' 'dude'@'localhost' 'lebowski'@'localhost' ================== 'root'@'192.168.1.1' 'root'@'127.0.0.1' 'dude'@'localhost' 'lebowski'@'localhost'
Voir aussi
- mysqli_fetch_array() - Retourne une ligne de résultat sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
- mysqli_fetch_row() - Récupère une ligne de résultat sous forme de tableau indexé
- mysqli_fetch_object() - Retourne la ligne courante d'un jeu de résultat sous forme d'objet
- mysqli_query() - Exécute une requête sur la base de données
- mysqli_data_seek() - Déplace le pointeur interne de résultat