# mysqli_result::fetch_assoc

# mysqli_fetch_assoc

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_assoc -- mysqli_fetch_assoc — Récupère la ligne suivante d'un ensemble de résultats sous forme de tableau associatif

### Description

Style orienté objet

public mysqli_result::fetch_assoc(): array|null|false

Style procédural

mysqli_fetch_assoc(mysqli_result `$result`): array|null|false

Retourne une ligne de données de l'ensemble de résultats et la renvoie sous forme de tableau associatif. Chaque appel ultérieur à cette fonction renverra la ligne suivante dans l'ensemble de résultats, ou `null` s'il n'y a plus de lignes.

Si deux ou plusieurs colonnes du résultat ont le même nom, la dernière colonne sera prioritaire et écrasera toutes les données précédentes. Pour accéder à plusieurs colonnes portant le même nom, la mysqli_fetch_row() peut être utilisée pour récupérer le tableau indexé numériquement ou des alias peuvent être utilisés dans la liste de sélection de la requête SQL pour donner des noms différents aux colonnes.

> 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 objet mysqli_result retourné par mysqli_query(), mysqli_store_result(), mysqli_use_result(), ou mysqli_stmt_get_result().

### Valeurs de retour

Renvoie un tableau associatif représentant la ligne extraite, où chaque clé du tableau représente le nom d'une des colonnes du jeu de résultats, `null` s'il n'y a plus de lignes dans le jeu de résultats, ou `false` si une erreur survient.

### Exemples

Exemple #1 Exemple mysqli_result::fetch_assoc()

Style orienté objet

`<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";
$result = $mysqli->query($query);
/* fetch associative array */
while ($row = $result->fetch_assoc()) {
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}`

Style procédural

`<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";
$result = mysqli_query($mysqli, $query);
/* fetch associative array */
while ($row = mysqli_fetch_assoc($result)) {
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}`

Les exemples ci-dessus vont afficher quelque chose de similaire à :

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

Exemple #2 Comparaison de l'usage de mysqli_result iterator et mysqli_result::fetch_assoc()

mysqli_result peut être itéré en utilisant un `foreach`. Le jeu de résultats sera toujours itéré à partir de la première ligne, quel que soit la position actuelle.

`<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$query = 'SELECT Name, CountryCode FROM City ORDER BY ID DESC';
// Utilise un itérateur
$result = $mysqli->query($query);
foreach ($result as $row) {
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}
echo "\n==================\n";
// N'utilise pas d'itérateur
$result = $mysqli->query($query);
while ($row = $result->fetch_assoc()) {
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}`

Résultat de l'exemple ci-dessus est similaire à :

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

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

### Voir aussi

- mysqli_fetch_array() - Récupère la ligne suivante d'un ensemble de résultats sous forme de tableau associatif, numérique ou les deux
- mysqli_fetch_column() - Récupère une seule colonne de la ligne suivante d'un jeu de résultats
- mysqli_fetch_row() - Récupère une ligne de résultat sous forme de tableau indexé
- mysqli_fetch_object() - Retourne la ligne suivante d'un ensemble de résultats 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