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