Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

mysql_fetch_array

MySQL-Funktionen

    Befehl:
array mysql_fetch_array ( resource $result [, int $result_type = MYSQL_BOTH ] )


    Parameter-Liste:
NameBeschreibung
resultDas Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query().
result_typeDer 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 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.


    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.
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