mysqli_result::fetch_assoc

mysqli_fetch_assoc

(PHP 5, PHP 7)

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

Description

Style orienté objet

public mysqli_result::fetch_assoc ( ) : 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 valeur 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 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