mysql_fetch_array

mysql_fetch_array -- Liefert einen Datensatz als assoziatives Array, als numerisches Array oder beides

Beschreibung

array mysql_fetch_array ( resource Ergebnis-Kennung [, int Ergebnistyp])

Liefert ein Array das dem aktuellen Datensatz entspricht oder FALSE , wenn keine weiteren Datensätze vorliegen .

mysql_fetch_array( ) ist eine erweiterte Version von mysql_fetch_row( ) . Die Daten werden sowohl unter numerischen Indizes des Ergebnis-Arrays abgelegt , als auch unter assoziativen Indizes . Als Schlüssel für die assoziativen Indizes werden die Feldnamen benutzt .

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 . ( In folgendem Beispiel können Sie 'field ' nicht benutzen ) .

Beispiel 1 .

 
select

 
tone.field

 
as

 
foo

 
ttwo.field

 
as

 
bar

 
from

 
tone

 
,

 
ttwo





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 .

Das optionale zweite Argumente Ergebnistyp in mysql_fetch_array( ) ist eine Konstante und kann die folgenden Werte annehmen : MYSQL_ASSOC , MYSQL_NUM und MYSQL_BOTH . Diese Eigenschaft steht seit PHP 3.0.7 zur Verfügung . MYSQL_BOTH ist der Standard für diesen Paramater .

Verwenden Sie MYSQL_BOTH , erhalten Sie ein Array mit assoziativen und numerischen Indizes . Bei MYSQL_ASSOC erhalten Sie nur aasoziative Indizes ( genau wie bei mysql_fetch_assoc( ) ) . Bei MYSQL_NUM erhalten Sie nur numerische Indizes ( genau wie bei mysql_fetch_row( ) ) .

Beispiel 2 . mysql_fetch_array mit MYSQL_NUM

 
?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

 
?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

 
?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)

 
;

 
?



Für weitere Details , siehe auch mysql_fetch_row( ) und mysql_fetch_assoc( )