PHP mysqli_fetch_array

PHP mysqli_fetch_array
In diesem Tutorial lernen wir, wie Sie die Funktion mySQLI_Fetch_array in PHP verwenden. Diese Funktion ermöglicht es uns, Zeilen aus einer MySQL -Datenbank abzurufen und sie als PHP -Array zu speichern. Mit der Funktion können Sie die Werte als assoziatives Array, ein numerisches Array oder eine Kombination von beides speichern. Sie können dann das Array wie gewohnt manipulieren. Lassen Sie uns eintauchen.

Funktionssyntax

Das folgende Ausschnitt zeigt die prozedurale Syntax für die Funktion mySQLI_Fetch_array:

mysqli_fetch_array (mysqli_result $ result, int $ modus = mySQLi_Both): Array | Null | Falsch

Die Funktionsparameter sind wie gezeigt:

  1. Ergebnis - Mit diesem Parameter können Sie das von MySQLI_QUERY (), MYSQLI_STORE_RESULD (), MYSQLI_STMT_GET_RESULT () oder MYSQLI_RESULT () Funktionen, oder mysqli_use_result () bewirkte Funktionen, oder MySQLi_Use_Result () Funktionen () Funktionen () Funktionen () Funktionen () Funktionen () Funktionen () Funktionen () Funktionen () Funktionen mysqli_store_result () angeben.
  2. Modus - Der Modusparameter definiert den Array -Typ, der zum Speichern der resultierenden Werte verwendet wird. Zu den akzeptierten Werten gehören:
    1. Mysqli_assoc - assoziatives Array.
    2. Mysqli_num - Numerisches Array.
    3. Mysqli_both - Eine Kombination aus assoziativem und numerischen Array.

Die Funktion gibt dann das Array mit den abgerufenen Zeilen zurück. Wenn keine abgerufenen Zeilen vorhanden sind, gibt die Funktion beim Fehler null oder falsch zurück.

Beispiel Verwendung

Lassen Sie uns ein Beispiel für die Verwendung der Funktion mySQLI_Fetch_array () diskutieren. Erstellen Sie zunächst eine Beispieldatenbank, Tabelle und Daten, wie in der folgenden Abfrage gezeigt:

Datenbank erstellen SRC;
Verwenden Sie SRC;
Droptabelle, wenn existiert stack_mapping;
TABLE STACK_MAPPING CREATE (
ID int auto_increment Primärschlüssel,
server_name varchar (50) nicht null,
Adress varchar (100) nicht null,
installed_version varchar (50),
Tool_id int
);
In stack_mapping einfügen (server_name, adresse, installed_version, tool_id)
Werte ('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);

Die resultierende Tabelle ist wie gezeigt:

Das folgende Beispiel zeigt, wie die Funktion PHP MySQLI_Fetch_array verwendet wird, um die Zeilen aus der obigen Tabelle als Array zurückzugeben.

Erstellen Sie zunächst eine PHP -Datei:

$ Touch Abret.Php

Bearbeiten Sie die Datei:

$ vim fetch.Php

Fügen Sie den Code wie gezeigt hinzu:

$ mysqli = mysqli_connect ("localhost: 3306", "root", "", "src");
if (mysqli_connect_errno ())
sterben ("konnte nicht verbinden");

$ query = "server_name, Adresse von stack_maping" auswählen ";
$ 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);
?>

Schließlich führen Sie das Skript mit PHP aus:

PHP -Abruf.Php

Dies sollte die Zeilen als assoziatives Array zurückgeben, das auch als Wörterbuch in anderen Programmiersprachen bezeichnet wird.

Hinweis: Beachten Sie, dass wir mit dem Zeilennamen (Wörterbuchschlüssel) auf die Werte des Wörterbuchs zugreifen.

Ein Beispielausgang ist wie gezeigt:

SQL Server (Localhost: 1433)
Elasticsearch (Localhost: 9200)
Redis (Localhost: 6379)
PostgreSQL (Localhost: 5432)
MySQL (Localhost: 3306)

Um die Werte als numerisches Array zurückzugeben, können wir die Abfrage verwenden:

$ mysqli = mysqli_connect ("localhost: 3306", "root", "", "src");
if (mysqli_connect_errno ())
sterben ("konnte nicht verbinden");

$ query = "server_name, Adresse von stack_maping" auswählen ";
$ 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);
?>

In ähnlicher Weise sollte der obige Code die Zeilen als:

SQL Server (Localhost: 1433)
Elasticsearch (Localhost: 9200)
Redis (Localhost: 6379)
PostgreSQL (Localhost: 5432)
MySQL (Localhost: 3306)

Schließlich, um die Ergebnisse als assoziative und numerische Arrays zu erzielen.

$ mysqli = mysqli_connect ("localhost: 3306", "root", "", "src");
if (mysqli_connect_errno ())
sterben ("konnte nicht verbinden");

$ query = "server_name, Adresse von stack_maping" auswählen ";
$ 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);
?>

Abschluss

In diesem Artikel haben Sie gelernt.