mysql_fetch_array

mysql_fetch_array -- Načte výsledný řádek do asociativního, čísleného pole nebo obojího.

Popis

array mysql_fetch_array ( resource výsledek [, int result_type])

Funkce vrací pole hodnot načteného záznamu nebo FALSE , není-li žádný další řádek .

mysql_fetch_array( ) je rozšířenou verzí mysql_fetch_row( ) . Navíc jsou zde data uložena v poli nejen pod číselnými klíči , ale také pod asociativními textovými klíči jmenujícími se podle názvu sloupce sql tabulky .

Pokud dva nebo více sloupců mají stejný název , bude dostupná hodnota pouze toho posledního . Chcete-li přistupovat i k hodnotám ostatních sloupců , musíte k nim v sql dotazu vytvořit aliasy . Název klíče sloupce , k němuž je vytvořem alias , je vždy jméno aliasu a proto není možné použít originální jméno sloupce v sql tabulce ( viz . 'sloupec ' v následujícím příkladu ) .

 
select

 
prvni_tab.sloupec

 
as

 
prvni_sloupec

 
druha_tab.sloupec

 
as

 
druhy_sloupec

 
from

 
prvni_tab

 
,

 
druha_tab





Důležité ovšem je , že použití mysql_fetch_array( ) není nijak významně pomalejší než použití mysql_fetch_row( ) , pokud je její použití přidanou hodnotou .

Nepovinný druhý parametr result_type v mysql_fetch_array( ) je komstanta , která může nabývat následujících hodnot : MYSQL_ASSOC , MYSQL_NUM , a MYSQL_BOTH . Tato vlastnost byla přidána v PHP 3.0.7 . Výchozí hodnota je MYSQL_BOTH .

Použitím MYSQL_BOTH získáte pole s asociativními i číselnými klíči . Použitím MYSQL_ASSOC získáte pole pouze s asociativními klíči ( stejně funguje mysql_fetch_assoc( ) ) a použitím MYSQL_NUM , pole obsahovat pouze číselné klíče (tak funguje mysql_fetch_row( ) ) .

Příklad 1 . mysql_fetch_array s MYSQL_NUM

 
?php

 
mysql_connect(

 
"localhost"

 
,

 
"mysql_uziv"

 
,

 
"mysql_heslo"

 
)

 
or

 
die("Nelze

 
se

 
spojit")

 
;

 
mysql_select_db("mojedb")

 
;

 
$result

 
=

 
mysql_query("SELECT

 
id

 
,

 
jmeno

 
FROM

 
moje_table")

 
;

 
while

 
($row

 
=

 
mysql_fetch_array($result

 
,

 
MYSQL_NUM)

 
)

 
{

 
printf

 
("ID

 
:

 
%s

 
Jméno

 
:

 
%s"

 
,

 
$row[0]

 
,

 
$row[1])

 
;

 
}

 
mysql_free_result($result)

 
;

 
?



Příklad 2 . mysql_fetch_array s MYSQL_ASSOC

 
?php

 
mysql_connect(

 
"localhost"

 
,

 
"mysql_uziv"

 
,

 
"mysql_heslo"

 
)

 
or

 
die("Nelze

 
se

 
spojit")

 
;

 
mysql_select_db("mojedb")

 
;

 
$result

 
=

 
mysql_query("SELECT

 
id

 
,

 
jmeno

 
FROM

 
moje_table")

 
;

 
while

 
($row

 
=

 
mysql_fetch_array($result

 
,

 
MYSQL_ASSOC)

 
)

 
{

 
printf

 
("ID

 
:

 
%s

 
Jméno

 
:

 
%s"

 
,

 
$row["id"]

 
,

 
$row["jmeno"])

 
;

 
    }

 
mysql_free_result($result)

 
;

 
?



Příklad 3 . mysql_fetch_array s MYSQL_BOTH

 
?php

 
mysql_connect(

 
"localhost"

 
,

 
"mysql_uziv"

 
,

 
"mysql_heslo"

 
)

 
or

 
die("Nelze

 
se

 
spojit")

 
;

 
mysql_select_db("mojedb")

 
;

 
$result

 
=

 
mysql_query("SELECT

 
id

 
,

 
jmeno

 
FROM

 
moje_table")

 
;

 
while

 
($row

 
=

 
mysql_fetch_array($result

 
,

 
MYSQL_BOTH)

 
)

 
{

 
printf

 
("ID

 
:

 
%s

 
Jméno

 
:

 
%s"

 
,

 
$row[0]

 
,

 
$row["jmeno"])

 
;

 
    }

 
mysql_free_result($result)

 
;

 
?



Pro další detaily viz . také mysql_fetch_row( ) a mysql_fetch_assoc( ) .