Position actuelle: Accueil> Derniers articles> Qu'est-ce que MySQLI_RESULT? Comment utiliser la méthode fetch_array ()? Que signifient les paramètres?

Qu'est-ce que MySQLI_RESULT? Comment utiliser la méthode fetch_array ()? Que signifient les paramètres?

M66 2025-05-17

Dans PHP, si vous utilisez l'extension (MySQL Improved Extension) pour vous connecter à la base de données et exécuter la requête, lorsque vous exécutez une fonction de requête comme MySQLI_Query () , si la requête renvoie un ensemble de résultats (comme une requête sélectionnée ), vous obtiendrez un objet MySQLI_RESULT .

Cet objet mysqli_result est une interface pour manipuler les résultats de la requête, à travers lesquels vous pouvez lire les données renvoyées par la requête ligne par ligne et champ par champ.

Qu'est-ce que MySQLI_RESULT?

MySQLI_RESULT est un objet de définition de résultats qui existe dans les styles orientés objet et procédural . Il contient toutes les lignes et données de colonne renvoyées par la requête de la base de données, mais elle ne charge pas toutes ces données en mémoire à la fois, mais doit être récupérée à la demande par le biais de diverses méthodes.

Les moyens courants d'obtenir des données sont:

  • fetch_assoc () → Obtenez une rangée de tableaux associatifs

  • fetch_row () → obtenir un tableau d'index de lignes

  • fetch_object () → obtenir une ligne d'objets

  • fetch_array () → Obtenez une ligne, soit un tableau associatif, un tableau d'index ou les deux (configurable)

Cet article se concentre sur fetch_array () .

Comment utiliser la méthode fetch_array ()?

fetch_array () est une méthode de mysqli_result , utilisée pour obtenir une ligne de données dans l'ensemble de résultats actuel, et le formulaire de retour est un tableau.

Il existe deux styles d'appel:

Style orienté objet:

 $result = $mysqli->query("SELECT id, name FROM users");
$row = $result->fetch_array();

Style de processus:

 $result = mysqli_query($conn, "SELECT id, name FROM users");
$row = mysqli_fetch_array($result);

Quoi qu'il en soit, il faut une ligne à chaque fois qu'il appelle jusqu'à ce qu'il n'y ait plus de lignes (renvoie faux à ce stade).

Que signifient les paramètres?

Fetch_Array () peut recevoir un paramètre facultatif pour contrôler le type du tableau de retour.
Signature complète:

 array mysqli_fetch_array(mysqli_result $result, int $resulttype = MYSQLI_BOTH)

La valeur du paramètre $ resultType est:

  • Mysqli_assoc → retourner uniquement le tableau associatif (nom de champ comme clé)

  • Mysqli_num → retourner uniquement le tableau d'index de numéro (l'index de champ est la clé)

  • Mysqli_both (par défaut) → Renvoie le tableau mixte d'association + index numérique

Par exemple:

 $conn = mysqli_connect("localhost", "username", "password", "database");
$result = mysqli_query($conn, "SELECT id, name FROM users");

while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
    echo "ID: " . $row['id'] . " Name: " . $row['name'] . "<br>";
}

Ici, nous utilisons MySQLI_ASSOC , il n'y a donc que la clé de nom de champ dans $ ROW , et pas d'index numérique.

Exemple de code

Exemple complet: