mysql_fetch_array

mysql_fetch_array -- Zapisuje wiersz wyniku w tablicy asocjacyjnej, numerycznej lub w obu

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