English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Die Funktion mysqli_fetch_array() holt eine Zeile aus dem Ergebnissatz als assoziatives Array, numerisches Array oder beides ab.
PHP Resultatobjekt (mysqli_result-Klasse) stellt ein MySQL-Ergebnis dar, das durch SELECT oder DESCRIBE oder EXPLAIN-Abfragen zurückgegeben wird.
Die Funktion mysqli_fetch_array() dient dazu, ein Resultatobjekt als Parameter zu akzeptieren, das aktuelle Zeilendaten des angegebenen Resultatobjekts abzurufen und diese als assoziatives Array oder numerisches Array zurückzugeben.
mysqli_fetch_array($result, [$type]);
Nummer | Parameter und Beschreibung |
---|---|
1 | result (notwendig) Dies ist ein Bezeichner für das Resultatobjekt. |
2 | type (notwendig) Dies ist ein ganzzahliger Wert, der den Typ des zurückgegebenen Arrays angibt. Der Wert von type ist einer der folgenden Werte:-
|
Die Funktion mysqli_fetch_array() von PHP gibt ein Array (assoziativ oder numerisch) zurück, das die aktuelle Zeile des Resultatobjekts speichert. Gibt es keine weiteren Zeilen, gibt diese Funktion NULL zurück.
Diese Funktion wurde ursprünglich in der PHP-Version5eingeführt und kann in allen höheren Versionen verwendet werden.
Nachfolgender Beispiel zeigtmysqli_fetch_array()Funktionssyntax (prozeduraler Stil), Zeilen aus dem Ergebnissatz als numerisches Array oder als assoziatives Array abrufen und ausgeben:
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Nachname VARCHAR(255), Geburtsort VARCHAR(255), Land VARCHAR(255))"); print("Eine Tabelle erstellen.....\n"); mysqli_query($con, "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India')"); mysqli_query($con, "INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'Cape Town', 'South Africa')"); mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Sri Lanka')"); print("Einen Eintrag einfügen.....\n"); //Inhalt der Tabelle abrufen $res = mysqli_query($con, "SELECT * FROM myplayers"); //Alle Zeilen als Array abrufen while($row = mysqli_fetch_array($res, MYSQLI_ASSOC)){ print("ID: ".$row["ID"]."\n"); print("First_Name: ".$row["First_Name"]."\n"); print("Nachname: ".$row["Last_Name"]."\n"); print("Geburtsort: ".$row["Place_Of_Birth"]."\n"); print("Land: ".$row["Country"]."\n"); } //Anweisung beenden mysqli_free_result($res); //Verbindung schließen mysqli_close($con); ?>
Ergebnisse ausgeben
Eine Tabelle erstellen..... Einen Eintrag einfügen..... ID: 1 Vorname: Sikhar Nachname: Dhawan Geburtsort: Delhi Land: Indien ID: 2 Vorname: Jonathan Nachname: Trott Geburtsort: Cape Town Land: Südafrika ID: 3 Vorname: Kumara Nachname: Sangakkara Geburtsort: Matale Land: Sri Lanka
In der objektorientierten Stil, die Syntax der Funktion ist$result->fetch_array();。Hier ist ein Beispiel für die Funktion in der objektorientierten Stil;
<?php //Verbindung herstellen $con = new mysqli("localhost", "root", "password", "mydb"); $con -> query("CREATE TABLE Test(Name VARCHAR(255), Age INT)"); $con -> query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27); print("Eine Tabelle erstellen.....\n"); $stmt = $con -> prepare("SELECT * FROM Test WHERE Name in(?, ?)"); $stmt -> bind_param("ss", $name1, $name2); $name1 = 'Raju'; $name2 = 'Rahman'; //Ausführen des Befehls $stmt->execute(); //Suchergebnisse $result = $stmt->get_result(); //Alle Zeilen als Array abrufen while($row = $result->fetch_array(MYSQLI_ASSOC)){ print("Name: ".$row["Name"]."\n"); print("Alter: ".$row["Age"]."\n"); } //Anweisung beenden $stmt->close(); //Verbindung schließen $con->close(); ?>
Ergebnisse ausgeben
Eine Tabelle erstellen..... Name: Raju Alter: 25 Name: Rahman Alter: 30
Sie können auch die Inhalte der Ergebniszellen als numerisches Array abrufen:
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Nachname VARCHAR(255), Geburtsort VARCHAR(255), Land VARCHAR(255))"); print("Eine Tabelle erstellen.....\n"); mysqli_query($con, "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India')"); mysqli_query($con, "INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'Cape Town', 'South Africa')"); mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Sri Lanka')"); print("Einen Eintrag einfügen.....\n"); //Inhalt der Tabelle abrufen $res = mysqli_query($con, "SELECT * FROM myplayers"); //Alle Zeilen als Array abrufen while($row = mysqli_fetch_array($res, MYSQLI_NUM)){ print("ID: ".$row[0]."\n"); print("Vorname: ".$row[1]."\n"); print("Nachname: ".$row[2]."\n"); print("Geburtsort: ".$row[3]."\n"); print("Land: ".$row[4]."\n"); } //Anweisung beenden mysqli_free_result($res); //Verbindung schließen mysqli_close($con); ?>
Ergebnisse ausgeben
Eine Tabelle erstellen..... Einen Eintrag einfügen..... ID: 1 Vorname: Sikhar Nachname: Dhawan Geburtsort: Delhi Land: Indien ID: 2 Vorname: Jonathan Nachname: Trott Geburtsort: Cape Town Land: Südafrika ID: 3 Vorname: Kumara Nachname: Sangakkara Geburtsort: Matale Land: Sri Lanka