PHP
Referenzliste
mysql_fetch_array
MySQL-Funktionen
Befehl:
array mysql_fetch_array ( resource $result [, int $result_type = MYSQL_BOTH ] )
Parameter-Liste:
Beschreibung | |
---|---|
Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query(). | |
Der Typ des Arrays, das gelesen werden soll. Er ist ein Konstante, die folgende Werte haben kann: MYSQL_ASSOC , MYSQL_NUM und MYSQL_BOTH . |
Rückgabewerte:
Gibt ein Array von Zeichenketten zurück, das der gelesenen Zeile entspricht oder
Falls zwei oder mehrere Spalten des Ergebnisses den gleichen Feldnamen haben, dann wird nur der Wert der letzten Spalte im Array unter diesem Feldnamen abgelegt. Um auch auf die anderen gleichnamigen Spalten zugreifen zu können, müssen Sie den numerischen Index der Spalte verwenden oder einen Alias für die Spalte vergeben. Falls Sie Aliase für Spalten verwenden, können Sie auf die Inhalte dieser Spalten nicht über ihren ursprünglichen Namen zugreifen.
FALSE
falls keine weiteren Zeilen vorhanden sind. Der Typ des zurückgegebenen Arrays hängt davon ab, wie result_type
definiert ist. Nutzen sie MYSQL_BOTH
(Standard), erhalten sie ein Array mit sowohl assoziativen als auch numerischen Indice. Nutzen sie MYSQL_ASSOC
erhalten sie nur assoziative Indice (wie mysql_fetch_assoc() arbeitet), mit MYSQL_NUM
erhalten sie nur numerische Indice (wie mysql_fetch_row() arbeitet).Falls zwei oder mehrere Spalten des Ergebnisses den gleichen Feldnamen haben, dann wird nur der Wert der letzten Spalte im Array unter diesem Feldnamen abgelegt. Um auch auf die anderen gleichnamigen Spalten zugreifen zu können, müssen Sie den numerischen Index der Spalte verwenden oder einen Alias für die Spalte vergeben. Falls Sie Aliase für Spalten verwenden, können Sie auf die Inhalte dieser Spalten nicht über ihren ursprünglichen Namen zugreifen.
Beschreibung:
Mit mysql_fetch_array() kann man sich anhand einer Ergebnis-Kennung (Ergebnis-Kennung) Datensätze in einem assoziativen Array übergeben lassen. Dabei werden die Feldnamen innerhalb der Tabelle als Schlüssel des Arrays genutzt. Im Erfolgsfall liefert diese Funktion den aktuellen Datensatz, sonst wird false zurückgegeben. Der zweite Parameter (Ergebnistyp) ist optional. Sie können in diesem Parameter folgende Konstanten übergeben:
• MYSQL_ASSOC: Funktionsergebnis ist ein assioziatives Array.
• MYSQL_NUM: Funktionsergebnis ist ein numerisch indiziertes Array.
• MYSQL_BOTH: Funktionsergebnis ist ein Array, das die Elemente des Ergebnisdatensatzes sowohl assoziativ als auch numerisch indiziert enthält. Dies ist der Default-Wert.
• MYSQL_ASSOC: Funktionsergebnis ist ein assioziatives Array.
• MYSQL_NUM: Funktionsergebnis ist ein numerisch indiziertes Array.
• MYSQL_BOTH: Funktionsergebnis ist ein Array, das die Elemente des Ergebnisdatensatzes sowohl assoziativ als auch numerisch indiziert enthält. Dies ist der Default-Wert.
Aktiv in Version:
(PHP 4, PHP 5, PHP 7)
Hinweis:
Hinweis:
Zu betonen ist, dass der Gebrauch von mysql_fetch_array() nicht signifikant langsamer ist als mysql_fetch_row(), obwohl die Funktion einen sichtlichen Mehrwert bietet.
Diese Funktion setzt NULL-Felder auf den PHP Wert-
NULL
.Feldnamen, die von dieser Funktion zurückgegeben werden, unterscheiden sich in der Gross-/Kleinschreibung.
Siehe auch:
Liefert einen Datensatz als indiziertes Array
Liefert einen Datensatz als assoziatives Array
Bewegt den internen Ergebnis-Zeiger
Sendet eine Anfrage an MySQL
mysql_fetch_array() - Beispiel: Abfrage mit alias für identische Feldnamen
Eingabe:
SELECT table1.field AS foo, table2.field AS bar FROM table1, table2
Beschreibung:
Zu betonen ist, dass der Gebrauch von mysql_fetch_array() nicht signifikant langsamer ist als mysql_fetch_row(), obwohl die Funktion einen sichtlichen Mehrwert bietet.
Feldnamen, die von dieser Funktion zur�ckgegeben werden, unterscheiden sich in der Gross-/Kleinschreibung.
Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.
Feldnamen, die von dieser Funktion zur�ckgegeben werden, unterscheiden sich in der Gross-/Kleinschreibung.
Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.
Beispiel #2 mysql_fetch_array() mit MYSQL_NUM
Eingabe:
<?php mysql_connect("localhost", "mysql_user", "mysql_password") or die("Keine Verbindung möglich: " . mysql_error()); mysql_select_db("mydb"); $result = mysql_query("SELECT id, name FROM mytable"); while ($row = mysql_fetch_array($result, MYSQL_NUM)) { printf("ID: %s Name: %s", $row[0], $row[1]); } mysql_free_result($result); ?>
Beispiel #3 mysql_fetch_array() mit MYSQL_ASSOC
Eingabe:
<?php mysql_connect("localhost", "mysql_user", "mysql_password") or die("Keine Verbindung möglich: " . mysql_error()); mysql_select_db("mydb"); $result = mysql_query("SELECT id, name FROM mytable"); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { printf("ID: %s Name: %s", $row["id"], $row["name"]); } mysql_free_result($result); ?>
Beispiel #4 mysql_fetch_array() mit MYSQL_BOTH
Eingabe:
<?php mysql_connect("localhost", "mysql_user", "mysql_password") or die("Keine Verbindung möglich: " . mysql_error()); mysql_select_db("mydb"); $result = mysql_query("SELECT id, name FROM mytable"); while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { printf ("ID: %s Name: %s", $row[0], $row["name"]); } mysql_free_result($result); ?>
MySQL-Funktionen