(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
mysqli_fetch_assoc(mysqli_result
$result
): array|null|false
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() - Fetch a single column from the next row of a result set
- 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