Php mysqli_fetch_array

Php mysqli_fetch_array
Dans ce tutoriel, nous apprendrons à utiliser la fonction mysqli_fetch_array en php. Cette fonction nous permet de récupérer les lignes d'une base de données MySQL et de les stocker sous forme de tableau PHP. La fonction vous permet de stocker les valeurs en tant que tableau associatif, un tableau numérique ou une combinaison des deux. Vous pouvez ensuite manipuler le tableau comme d'habitude. Plongeons-nous dans.

Syntaxe de fonction

L'extrait suivant montre la syntaxe procédurale de la fonction mysqli_fetch_array:

mysqli_fetch_array (mysqli_result $ result, int $ mode = mysqli_both): array | null | false

Les paramètres de fonction sont comme indiqué:

  1. Résultat - Ce paramètre vous permet de spécifier l'objet mysql_result renvoyé par le mysqli_query (), mysqli_store_result (), mysqli_stmt_get_result (), ou mysqli_use_result ().
  2. MODE - Le paramètre de mode définit le type de tableau utilisé pour stocker les valeurs résultantes. Les valeurs acceptées incluent:
    1. Mysqli_assoc - tableau associatif.
    2. Mysqli_num - tableau numérique.
    3. Mysqli_both - une combinaison du tableau associatif et numérique.

La fonction renvoie ensuite le tableau avec les lignes récupérées. S'il n'y a pas de lignes récupérées, la fonction renvoie null ou false en panne.

Exemple d'utilisation

Discutons d'un exemple d'utilisation de la fonction mysqli_fetch_array (). Commencez par créer un exemple de base de données, de table et de données comme indiqué dans la requête ci-dessous:

Créer une base de données SRC;
Utiliser src;
TABLE DE DROP si existant Stack_Mapping;
Créer une table stack_mapping (
id int Auto_increment Clé primaire,
server_name varchar (50) pas null,
Adresse Varchar (100) pas nul,
installé_version varchar (50),
tool_id int
));
Insérer dans stack_mapping (server_name, adresse, installé_version, tool_id)
VALEURS ('SQL Server', 'LocalHost: 1433', '15.0 ', 1),
(«Elasticsearch», «LocalHost: 9200», «8.4 ', 2),
(«Redis», «localhost: 6379», «6.0 ', 3),
('Postgresql', 'localhost: 5432', '14.5 ', 4),
(«Mysql», «LocalHost: 3306», «8.0 ', null);

Le tableau résultant est comme indiqué:

L'exemple suivant montre comment utiliser la fonction php mysqli_fetch_array pour renvoyer les lignes du tableau ci-dessus sous forme de tableau.

Commencez par créer un fichier PHP:

$ touch chercher.php

Modifiez le fichier:

$ vim fetch.php

Ajoutez le code comme indiqué:

$ mysqli = mysqli_connect ("localhost: 3306", "root", "", "src");
if (mysqli_connect_errno ())
mourir ("ne pouvait pas se connecter");

$ query = "SELECT Server_name, Adresse from stack_mapping";
$ result = mysqli_query ($ mysqli, $ query);
while ($ row = mysqli_fetch_array ($ result, mysqli_assoc))
printf ("% s (% s) \ n", $ row ["server_name"], $ row ["adresse"]);

mysqli_free_result ($ result);
?>

Enfin, exécutez le script avec PHP:

php récupérer.php

Cela devrait renvoyer les lignes en tant que tableau associatif, également connu sous le nom de dictionnaire dans d'autres langages de programmation.

Remarque: Remarque Nous accédons aux valeurs du dictionnaire à l'aide du nom de la ligne (clé de dictionnaire).

Un exemple de sortie est comme indiqué:

SQL Server (LocalHost: 1433)
Elasticsearch (localhost: 9200)
Redis (localhost: 6379)
PostgreSQL (localhost: 5432)
Mysql (localhost: 3306)

Pour retourner les valeurs en tant que tableau numérique, nous pouvons utiliser la requête:

$ mysqli = mysqli_connect ("localhost: 3306", "root", "", "src");
if (mysqli_connect_errno ())
mourir ("ne pouvait pas se connecter");

$ query = "SELECT Server_name, Adresse from stack_mapping";
$ result = mysqli_query ($ mysqli, $ query);
while ($ row = mysqli_fetch_array ($ result, mysqli_num))
printf ("% s (% s) \ n", $ row [0], $ row [1]);

mysqli_free_result ($ result);
?>

De même, le code ci-dessus doit renvoyer les lignes comme:

SQL Server (LocalHost: 1433)
Elasticsearch (localhost: 9200)
Redis (localhost: 6379)
PostgreSQL (localhost: 5432)
Mysql (localhost: 3306)

Enfin, pour obtenir les résultats en tant que tableaux associatifs et numériques.

$ mysqli = mysqli_connect ("localhost: 3306", "root", "", "src");
if (mysqli_connect_errno ())
mourir ("ne pouvait pas se connecter");

$ query = "SELECT Server_name, Adresse from stack_mapping";
$ result = mysqli_query ($ mysqli, $ query);
while ($ row = mysqli_fetch_array ($ result, mysqli_both))
printf ("% s (% s) \ n", $ row [0], $ row ["adresse"]);

mysqli_free_result ($ result);
?>

Conclusion

Dans cet article, vous avez appris à utiliser la fonction mysqli_fetch_array en PHP pour récupérer les lignes d'une base de données en tant que tableau.