(PHP 5, PHP 7)
mysqli_result::fetch_array -- mysqli_fetch_array — Retourne une ligne de résultat sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
Style orienté objet
Style procédural
Retourne un tableau qui correspond à la ligne récupérée ou NULL
s'il n'y a
plus de ligne dans le jeu de résultats result
.
mysqli_fetch_array() est une version étendue de la fonction mysqli_fetch_row(). En plus d'enregistrer les données sous forme d'un tableau à indices numériques, elle peut aussi les enregistrer dans un tableau associatif, en utilisant les noms des champs comme clés.
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
.
Si plusieurs colonnes portent le même nom, la dernière colonne aura la priorité. Pour accéder aux autres colonnes du même nom, vous devez utiliser l'index numérique, ou faire un alias pour chaque colonne.
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().
resulttype
Le second argument optionnel est une constante indiquant quel
type de tableau doit être renvoyé à partir de la ligne de données
courante. Les valeurs possibles pour ce paramètre sont les constantes
MYSQLI_ASSOC
, MYSQLI_NUM
,
et MYSQLI_BOTH
.
En utilisant la constante MYSQLI_ASSOC
, cette fonction
se comportera comme la fonction mysqli_fetch_assoc(),
tandis que MYSQLI_NUM
la fera agir comme la fonction
mysqli_fetch_row(). La constante
MYSQLI_BOTH
, créera elle un tableau qui sera à la fois
associatif et indexé numériquement.
Retourne un tableau de chaînes qui correspond à la ligne récupérée ou NULL
s'il
n'y a plus de ligne disponible dans le jeu de résultats.
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("Echec de la connexion : %s\n", $mysqli->connect_error);
exit();
}
$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
$result = $mysqli->query($query);
/* Tableau numérique */
$row = $result->fetch_array(MYSQLI_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);
/* Tableau associatif */
$row = $result->fetch_array(MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
/* Tableau associatif et numérique */
$row = $result->fetch_array(MYSQLI_BOTH);
printf ("%s (%s)\n", $row[0], $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 LIMIT 3";
$result = mysqli_query($link, $query);
/* Tableau numérique */
$row = mysqli_fetch_array($result, MYSQLI_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);
/* Tableau associatif */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
/* Tableau associatif et numérique */
$row = mysqli_fetch_array($result, MYSQLI_BOTH);
printf ("%s (%s)\n", $row[0], $row["CountryCode"]);
/* Libération des résultats */
mysqli_free_result($result);
/* Fermeture de la connexion */
mysqli_close($link);
?>
Les exemples ci-dessus vont afficher :
Kabul (AFG) Qandahar (AFG) Herat (AFG)