Mit folgenden Funktionen kommt man an die Werte der Ergebnisliste.
Funktion |
Beschreibung
|
mysql_fetch_array |
Einlesen der aktuellen Ergebnisliste in ein Array. Arrays sind vor allem für die umfassende Weiterverarbeitung von Daten zu empfehlen. Der Parameter "$result" sollte das Ergebnis einer SQL-Abfrage enthalten (also ein von der Funktion "mysql_query" erzeugtes Ergebnishandle). Der Parameter "ARRAYTYPE" ist optional und kann folgende Werte aufweisen:
- mit "MYSQL_ASSOC" wird ein assoziatives Array gebildet, das als Indizes die Feldnamen und als Wert den Feldinhalt enthält.
- mit "MYSQL_NUM" wird ein numerisches Array erzeugt, die Felder werden von "0" beginnend durchnumeriert.
- mit "MYSQL_BOTH" (Standardeinstellung) wird ein assoziatives Array gebildet, dessen Indizes sowohl numerische Werte als auch Feldnamen enthalten.
$array = mysql_fetch_array($result, <ARRAYTYPE>)
|
Achtung: Wird der Parameter "MYSQL_ASSOC" vergessen und nicht nach numerischen Indizes ausgewählt, so werden alle Werte doppelt ausgegeben, da sowohl die numerischen Indizes als auch die Schlüsselwerte auf Grundlage der Feldnamen vorhanden sind.
|
mysql_fetch_assoc |
Entspricht der Funktion "mysql_fetch_array" mit dem Parameter "MYSQL_ASSOC" und ist etwas schneller.
|
mysql_fetch_object |
Bildet die Felder als Eigenschaften ab. Vor allem beim Zugriff auf einzelne Felder mit bekannten Namen ist diese Version einfacher als die Anwendung assoziativer Arrays.
$object = mysql_fetch_object($result);
|
Der Zugriff sieht dann wie folgt aus.
$wert = $object->$feldname;
|
|
mysql_fetch_row |
Entspricht der Funktion "mysql_fetch_array" mit dem Parameter "MYSQL_NUM".
$array = mysql_fetch_row($result);
|
|
mysql_result |
Gibt ein bestimmtes Feld eines Datensatzes aus. Dabei wird für "$row" die Nummer der Reihe (analog zu "mysql_date_seek") und für "$field" der Index des Feldes (beginnend mit 0) oder der Feldname eingesetzt. Als Feldname kann auch die Kombination "Tabellenname.Feldname" angegeben werden, wenn die Ergebnisliste mehrdeutige Namen für Spaltenbezeichner enthält. Diese Funktion ist langsamer und sollte nur ausnahmsweise eingesetzt werden.
$wert = mysql_result($result, $row, $field);
|
|