Schleife PHP MySQLi Fetch Array Funktion
Die MySQLi-Abruffunktion wird verwendet, um auf Daten vom Datenbankserver zuzugreifen. Nach dem Abrufen der Daten können Sie auch über die MySQLi
-Abfrage iterieren.
In diesem Artikel sehen wir die Verwendung der Funktion mysqli_fetch_array()
und die Art und Weise, wie die abgerufenen Daten durchlaufen werden.
Diese Erweiterung wurde mit PHP Version 5.0.0 eingeführt, und das Ziel ihrer Entwicklung ist es, mit MySQL Version 4.1.13 oder höher zu funktionieren. Wir verwenden in diesem Tutorial PHP Version 7.4.1 und phpMyAdmin.
Sie können XAMPP von seiner offiziellen Website herunterladen. (Sie müssen MySQL und PHP nicht separat installieren, wenn Sie XAMPP haben).
Iteration über die Funktion mysqli_fetch_array()
mysqli_fetch_array()
wird verwendet, um Daten der aktuellen Zeile aus der Datenbank abzurufen, wobei $result
als erster Parameter verwendet wird, die Ausgabe als assoziatives Array, numerisches Array oder beides gespeichert wird (abhängig vom zweiten Parameter). Derzeit haben wir die folgenden Daten in unserer Studentendatenbank.
mysqli_fetch_array()
Funktion im MYSQLI_NUM
Modus
Lassen Sie uns das folgende Programm schreiben, um Daten aus der Studentendatenbank namens db_students
mit der Funktion mysqli_fetch_array()
zu lesen. Der folgende Code stellt eine Verbindung mit der Datenbank her und zeigt die Fehlermeldung an, falls dies fehlschlägt.
Nach erfolgreicher Verbindung mit der Datenbank liest diese die Datensätze mit der Funktion mysqli_query
und speichert sie in der Variablen $result
. mysqli_fetch_array()
nimmt diese Ergebnisvariable und MYSQLI_NUM
(sie verhält sich wie die Funktion mysqli_fetch_row()
) als Parameter, um die aktuelle Zeile als numerisches Array anzuzeigen, wobei die Indizes von 0
bis n-1
reichen.
Beispielcode:
<?php
$host = "localhost";
$username = "root";
$password = "";
$database = "db_students";
$connection = mysqli_connect($host, $username, $password, $database);
if (mysqli_connect_errno()) {
echo "Database connection failed.";
}
$sql = "SELECT * FROM tb_students";
$result = mysqli_query($connection, $sql);
$row = mysqli_fetch_array($result,MYSQLI_NUM);
print_r($row)
?>
Ausgabe:
mysqli_fetch_array()
Funktion im MYSQLI_ASSOC
Modus
Hier verhält sich die Funktion mysqli_fetch_array()
aufgrund des Parameters MYSQLI_ASSOC
wie die Funktion mysqli_fetch_assoc()
, und die Spaltennamen der Tabelle werden als Indizes des Arrays angezeigt. Üben Sie den folgenden Code und beobachten Sie die Ausgabe.
Beispielcode:
<?php
$host = "localhost";
$username = "root";
$password = "";
$database = "db_students";
$connection = mysqli_connect($host, $username, $password, $database);
if (mysqli_connect_errno()) {
echo "Database connection failed.";
}
$sql = "SELECT * FROM tb_students";
$result = mysqli_query($connection, $sql);
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
print_r($row)
?>
Ausgabe:
mysqli_fetch_array()
Funktion im MYSQLI_BOTH
Modus
Die Verwendung der Funktion mysqli_fetch_array()
mit dem Parameter MYSQLI_BOTH
speichert die Daten in einem Array, auf das wir über Spaltennamen und Spaltenindizes zugreifen können. Üben Sie den folgenden Code und sehen Sie sich die Ausgabe an.
Beispielcode:
<?php
$host = "localhost";
$username = "root";
$password = "";
$database = "db_students";
$connection = mysqli_connect($host, $username, $password, $database);
if (mysqli_connect_errno()) {
echo "Database connection failed.";
}
$sql = "SELECT * FROM tb_students";
$result = mysqli_query($connection, $sql);
$row = mysqli_fetch_array($result,MYSQLI_BOTH);
print_r($row)
?>
Ausgabe:
Schleife über die Funktion mysqli_fetch_array()
Wir verwenden den folgenden Code, um die mysqli_query
zu durchlaufen und die Ausgabe mit den Tabelleneinträgen der Schüler zu vergleichen.
Denken Sie daran, dass Sie alle Modi von mysqli_fetch_array()
, MYSQLI_ASSOC
, MYSQLI_NUM
und MYSQLI_BOTH
wiederholen können. Sie müssen es als Parameter übergeben, wenn Sie mysqli_fetch_array()
verwenden.
<?php
$host = "localhost";
$username = "root";
$password = "";
$database = "db_students";
$connection = mysqli_connect($host, $username, $password, $database);
if (mysqli_connect_errno()) {
echo "Database connection failed.";
}
$sql = "SELECT * FROM tb_students";
$result = mysqli_query($connection, $sql);
$std_num=0;
while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) {
echo "Student Number ".$std_num."<br>";
echo "ID: ".$row['ID']."<br>";
echo "First Name: ".$row['FIRST_NAME']."<br>";
echo "Last Name: ".$row['LAST_NAME']."<br>";
echo "Age: ".$row['AGE']."<br>";
echo "<br><br>";
$std_num++;
}
?>
Ausgabe:
Sie können ID
, FIRST_NAME
, LAST_NAME
, AGE
mit der folgenden Tabelle namens tb_students
sehen und vergleichen.
Fazit
Die obige Diskussion kam zu dem Schluss, dass die Funktion mysqli_fetch_array()
uns hilft, Daten aus der Datenbank abzurufen.
Abhängig von unseren Bedürfnissen und Anforderungen können wir den Ausgabemodus verwenden, um auf Werte über Spaltenindex oder Spaltennamen oder beides zuzugreifen. Dann können wir die Ergebnisse in einer Schleife ausführen, um jeden Datensatz der Tabelle anzuzeigen.