mysql_fetch_assoc

mysql_fetch_assoc -- Liefert einen Datensatz als assoziatives Array

Beschreibung

array mysql_fetch_assoc ( resource Ergebnis)

Liefert ein assoziatives Array , das den geholten entprechenden Datensatz enthält . Sind keine weiteren Datensätze vorhanden gibt diese Funktion FALSE zurück .

mysql_fetch_assoc( ) entspricht in der Funktionsweise exakt dem Aufruf von mysql_fetch_array( ) mit Angabe von MYSQL_ASSOC als optionalen zweiten Parameter . Diese Funktion liefert Ihnen nur ein assoziatives Array . Das war das ursprüngliche Verhalten von mysql_fetch_array( ) . Falls Sie sowohl numerische , als auch assoziative Indizes benötigen , verwenden Sie mysql_fetch_array( ) .

Falls zwei oder mehrere Felder des Ergebnisses den gleichen Feldnamen haben , dann wird nur der Wert des letzten Felds im Array unter diesem Feldnamen abgelegt . Um auch auf die anderen , gleichnamigen , Felder zugreifen zu können , müssen Sie entweder numerische Indizes und damit mysql_fetch_row( ) benutzen , oder Aliase für Ihre Felder anlegen . Zur Verwendung von Aliasen schauen Sie sich das Beispiel unter der Beschreibung von mysql_fetch_array( ) an .

Zu betonen ist , dass der Gebrauch von mysql_fetch_assoc( ) nicht signifikant langsamer ist als mysql_fetch_row( ) , obwohl die Funktion einen sichtlichen Mehrwert bietet .

Beispiel 1 . Ein ausführliches Beispiel zu mysql_fetch_assoc( )

 
?php

 
$conn

 
=

 
mysql_connect(

 
"localhost"

 
,

 
"mysql_user"

 
,

 
"mysql_password")

 
;

 
if

 
(!$conn

 
)

 
{

 
echo

 
"Keine

 
Verbindung

 
zur

 
DB

 
:

 
"

 
.

 
mysql_error()

 
;

 
exit

 
;

 
    }

 
if

 
(!mysql_select_db("mydbname")

 
)

 
{

 
echo

 
"Kann

 
mydbname

 
nicht

 
auswählen

 
:

 
"

 
.

 
mysql_error()

 
;

 
exit

 
;

 
    }

 
$sql

 
=

 
"SELECT

 
id

 
as

 
userid

 
,

 
fullname

 
,

 
userstatus

 
FROM

 
sometable

 
WHERE

 
userstatus

 
=

 
1"

 
;

 
$result

 
=

 
mysql_query($sql)

 
;

 
if

 
(!$result

 
)

 
{

 
echo

 
"Anfrage

 
($sql

 
)

 
konnte

 
nicht

 
ausgeführt

 
werden

 
:

 
"

 
.

 
mysql_error()

 
;

 
exit

 
;

 
    }

 
if

 
(mysql_num_rows($result

 
)

 
==

 
0

 
)

 
{

 
echo

 
"Keine

 
Zeilen

 
gefunden

 
,

 
nichts

 
auszugeben

 
,

 
daher

 
Abbruch"

 
;

 
exit

 
;

 
    }

 
/

 
/

 
Solange

 
eine

 
Zeile

 
mit

 
Daten

 
existiert

 
,

 
wird

 
dies

 
in

 
dem

 
/

 
/

 
assoziativen

 
Array

 
$row

 
abgelegt

 
.

 
/

 
/

 
Anmerkung

 
:




 
Wenn

 
Sie

 
nur

 
eine

 
Zeile

 
erwarten

 
,

 
brauchen

 
Sie

 
keine

 
Schleife

 
.

 
/

 
/

 
Anmerkung

 
:




 
Wenn

 
Sie

 
extract(

 
$row

 
)

 
inner

 
halb

 
der

 
folgenden

 
/

 
/

 
Schleife

 
verwenden

 
,

 
können

 
Sie

 
damit

 
die

 
Variablen

 
/

 
/

 
$userid

 
,

 
$fullname

 
und

 
$userstatus

 
erzeugen

 
.

 
while

 
($row

 
=

 
mysql_fetch_assoc($result)

 
)

 
{

 
echo

 
$row["userid"]

 
;

 
echo

 
$row["fullname"]

 
;

 
echo

 
$row["userstatus"]

 
;

 
    }

 
mysql_free_result($result)

 
;

 

?



Für weitere Details , siehe auch mysql_fetch_row( ) , mysql_fetch_array( ) , mysql_query( ) und mysql_error( )