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