mysql_fetch_array

mysql_fetch_array -- Haal een resultaat rij op als een associatieve array, een numerieke array, of beiden

Beschrijving

array mysql_fetch_array ( resource result [, int result_type])

Haalt een array op die correspondeert met de opgehaalde rij , of FALSE als er geen rijen meer zijn .

mysql_fetch_array( ) is een uitgebreide versie van mysql_fetch_row( ) . Als toevoeging op het opslaan van de data in numerieke indices van de resultaat array , slaat hij de data ook op in associatieve indices , waarbij de veldnamen gebruikt worden als keys .

Als twee of meer kolommmen van het resultaat dezelfde veldnaam hebben heeft de laatst kolom precedentie . Om toegang te krijgen tot andere kolommen met dezelfde naam , moet je de numerieke index van de kolom gebruiken of een alias maken voor de kolom . Voor gealiasde kolommen kun je geen toegang krijgen tot de inhoud met de originele kolom naam ( door 'field ' te gebruiken in dit voorbeeld ) .

Voorbeeld 1 . Query met dubbele veldnamen






Belangrijk is het door te hebben dat mysql_fetch_array( ) is niet significant langzamer dan het gebruik van mysql_fetch_row( ) , terwijl het een duidelijke toegevoegde waarde heeft .

Het optionele tweede argument result_type in mysql_fetch_array( ) is een constante en kan de volgende waarden aannemen : MYSQL_ASSOC , MYSQL_NUM , en MYSQL_BOTH . Deze feature werd toegevoegd in PHP 3.0.7 . MYSQL_BOTH is de default voor deze parameter .

Door MYSQL_BOTH te gebruiken , zul je een array met zowel associatieve als numerieke indices terug krijgen . Met MYSQL_ASSOC krijg je alleen associatieve indices ( zoals bij mysql_fetch_assoc( ) ) , en met MYSQL_NUM krijg je alleen numerieke indices (zoals mysql_fetch_row( ) ) .

Voorbeeld 2 . mysql_fetch_array met MYSQL_NUM

 
?php

 
mysql_connect(

 
"localhost"

 
,

 
"mysql_user"

 
,

 
"mysql_password"

 
)

 
or

 
die("Kan

 
geen

 
verbinding

 
maken

 
:

 
"

 
.

 
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)

 
;

 
?



Voorbeeld 3 . mysql_fetch_array met MYSQL_ASSOC

 
?php

 
mysql_connect(

 
"localhost"

 
,

 
"mysql_user"

 
,

 
"mysql_password"

 
)

 
or

 
die("Kan

 
geen

 
verbinding

 
maken

 
:

 
"

 
.

 
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)

 
;

 
?



Voorbeeld 4 . mysql_fetch_array met MYSQL_BOTH

 
?php

 
mysql_connect(

 
"localhost"

 
,

 
"mysql_user"

 
,

 
"mysql_password"

 
)

 
or

 
die("Kan

 
geen

 
verbinding

 
maken

 
:

 
"

 
.

 
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)

 
;

 
?



Voor verder details , zie ook mysql_fetch_row( ) en mysql_fetch_assoc( ) .