(PHP 5, PHP 7, PHP 8)
mysqli_result::fetch_array -- mysqli_fetch_array — Ruft die nächste Zeile einer Ergebnismenge als assoziatives und/oder numerisches Array ab
Objektorientierter Stil
Prozeduraler Stil
Ruft eine Zeile der Daten aus der Ergebnismenge ab und gibt sie als Array
zurück. Bei jedem weiteren Aufruf dieser Funktion wird die jeweils nächste
Zeile der Ergebnismenge zurückgegeben oder null
, wenn es keine weitere
Zeile gibt.
Neben der Speicherung der Daten in einem Array mit numerischen Indizes kann diese Funktion die Daten auch in einem assoziativen Array speichern, indem sie die Feldnamen der Ergebnismenge als Schlüssel verwendet.
Wenn zwei oder mehr Spalten des Ergebnisses den gleichen Namen haben, hat die letzte Spalte Vorrang und überschreibt alle vorherigen Daten. Um auf mehrere Spalten mit demselben Namen zuzugreifen, muss die numerisch indizierte Version der Zeile verwendet werden.
Hinweis: Bei den Spaltennamen, die von dieser Funktion zurückgegeben werden, wird zwischen Groß- und Kleinschreibung unterschieden.
Hinweis: Diese Funktion setzt NULL-Felder auf den PHP-Wert
null
.
result
Nur bei prozeduralem Aufruf: Ein von mysqli_query(), mysqli_store_result(), mysqli_use_result() oder mysqli_stmt_get_result() zurückgegebenes mysqli_result-Objekt.
mode
Dieser optionale Parameter gibt an, welcher Typ von Array aus den
aktuellen Zeilendaten erzeugt werden soll. Die möglichen Werte für
diesen Parameter sind die Konstanten MYSQLI_ASSOC
,
MYSQLI_NUM
und MYSQLI_BOTH
.
Mit der Konstante MYSQLI_ASSOC
verhält sich diese
Funktion genauso wie die Funktion
mysqli_fetch_assoc(), während sie sich mit
MYSQLI_NUM
genauso verhält wie die Funktion
mysqli_fetch_row(). Die letzte Option,
MYSQLI_BOTH
, erzeugt ein einziges Array mit den
Eigenschaften beider Funktionen.
Gibt ein Array zurück, das die abgerufene Zeile enthält oder null
, wenn
es in der Ergebnismenge keine weitere Zeile gibt. Bei einem Fehler wird false
zurückgegeben.
Beispiel #1 mysqli_result::fetch_array()-Beispiel
Objektorientierter Stil
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER BY ID LIMIT 3";
$result = $mysqli->query($query);
/* numerisches Array */
$row = $result->fetch_array(MYSQLI_NUM);
printf("%s (%s)\n", $row[0], $row[1]);
/* assoziatives Array */
$row = $result->fetch_array(MYSQLI_ASSOC);
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
/* assoziatives und numerisches Array */
$row = $result->fetch_array(MYSQLI_BOTH);
printf("%s (%s)\n", $row[0], $row["CountryCode"]);
Prozeduraler Stil
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
$result = mysqli_query($mysqli, $query);
/* numerisches Array */
$row = mysqli_fetch_array($result, MYSQLI_NUM);
printf("%s (%s)\n", $row[0], $row[1]);
/* assoziatives Array */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
/* assoziatives und numerisches Array */
$row = mysqli_fetch_array($result, MYSQLI_BOTH);
printf("%s (%s)\n", $row[0], $row["CountryCode"]);
Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:
Kabul (AFG) Qandahar (AFG) Herat (AFG)