Opis
array
mysql_fetch_array
( resource wynik [, int typ_wyniku])
Zwraca
tablicę
zawierającą
pobrany
wiersz
,
lub
FALSE
jeżeli
nie
ma
więcej
wierszy
w
wynik
.
mysql_fetch_array(
)
jest
rozszerzoną
wersją
mysql_fetch_row(
)
.
Oprócz
zapisywania
danych
w
indeksach
numerycznych
,
zapisuje
je
też
w
indeksach
przyporządkowujących
(
asocjacyjnych
)
,
używając
nazw
pól
jako
kluczy
.
Jeżeli
dwie
lub
więcej
kolumn
wyniku
ma
te
same
nazwy
,
ostatnia
kolumna
będzie
brana
pod
uwagę
.
Dostęp
do
innych
kolumn
o
tej
samej
nazwie
jest
możliwy
jedynie
przez
indeksowanie
numeryczne
lub
przez
stworzenie
aliasa
.
Po
stworzeniu
aliasa
nie
można
już
odwoływać
się
do
danej
kolumny
używając
jej
prawdziwej
nazwy
(
w
tym
przykładzie
używając
'pole
'
)
.
Przykład
1
.
Zapytanie
z
powtarzającymi
się
nazwami
pól
|
Godne
uwagi
jest
to
,
że
użycie
mysql_fetch_array(
)
nie
jest
znacząco
wolniejsze
od
użycia
mysql_fetch_row(
)
,
a
jest
bardziej
funkcjonalne
.
Opcjonalny
drugi
argument
result_type
w
funkcji
mysql_fetch_array(
)
jest
stałą
i
może
przyjmować
następujące
wartości
:
MYSQL_ASSOC
,
MYSQL_NUM
i
MYSQL_BOTH
.
Tę
funkcjonalność
dodano
w
PHP
3.0.7
.
Wartością
domyślną
jest
MYSQL_BOTH
.
Używając
MYSQL_BOTH
otrzymasz
tablicę
indeksowaną
zarówno
asocjacyjnie
jak
i
numerycznie
.
MYSQL_ASSOC
dostarczy
tablicy
indeksowanej
tylko
asocjacyjnie
(
jak
w
mysql_fetch_assoc(
)
)
,
natomiast
MYSQL_NUM
indeksowanej
tylko
numerycznie
(jak
w
mysql_fetch_row(
)
)
.
Przykład
2
.
mysql_fetch_array
z
MYSQL_NUM
?php
mysql_connect(
'localhost'
,
'uzytkownik'
,
'haslo'
)
or
die('Nie
można
się
połączyć
:
'
.
mysql_error())
;
mysql_select_db('baza')
;
$result
=
mysql_query("SELECT
id
,
nazwa
FROM
tabela")
;
while
($row
=
mysql_fetch_array($result
,
MYSQL_NUM)
)
{
printf
("ID
:
%s
Nazwa
:
%s"
,
$row[0]
,
$row[1])
;
}
mysql_free_result($result)
;
?
|
|
Przykład
3
.
mysql_fetch_array
z
MYSQL_ASSOC
?php
mysql_connect(
'localhost'
,
'uzytkownik'
,
'haslo'
)
or
die('Nie
można
się
połączyć
:
'
.
mysql_error())
;
mysql_select_db('baza')
;
$result
=
mysql_query("SELECT
id
,
nazwa
FROM
tabela")
;
while
($row
=
mysql_fetch_array($result
,
MYSQL_ASSOC)
)
{
printf
("ID
:
%s
Nazwa
:
%s"
,
$row["id"]
,
$row["nazwa"])
;
}
mysql_free_result($result)
;
?
|
|
Przykład
4
.
mysql_fetch_array
z
MYSQL_BOTH
?php
mysql_connect(
'localhost'
,
'uzytkownik'
,
'haslo'
)
or
die('Nie
można
się
połączyć
:
'
.
mysql_error())
;
mysql_select_db('baza')
;
$result
=
mysql_query("SELECT
id
,
nazwa
FROM
tabela")
;
while
($row
=
mysql_fetch_array($result
,
MYSQL_BOTH)
)
{
printf
("ID
:
%s
Nazwa
:
%s"
,
$row[0]
,
$row["nazwa"])
;
}
mysql_free_result($result)
;
?
|
|
Patrz
także
:
mysql_fetch_row(
)
,
mysql_fetch_assoc(
)
.