Récupère une ligne de résultat sous forme de tableau associatif

# mysqli_result::fetch_assoc

# mysqli_fetch_assoc

(PHP 5, PHP 7)

mysqli_result::fetch_assoc -- mysqli_fetch_assoc — Récupère une ligne de résultat sous forme de tableau associatif

### Description

Style orienté objet

mysqli_result::fetch_assoc ( void ) : array

Style procédural

mysqli_fetch_assoc ( mysqli_result `$result` ) : array

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);
?>`

Les exemples ci-dessus vont afficher :

    Pueblo (USA)
    Arvada (USA)
    Cape Coral (USA)
    Green Bay (USA)
    Santa Clara (USA)

Exemple #3 Exemple avec MySQLi_Result et l'utilisation d'un iterator

`<?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