MySQL Funkcje
PHP Manual

mysql_fetch_array

(PHP 4, PHP 5)

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

select table1.field as foo table2.field as bar from table1, table2

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($resultMYSQL_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($resultMYSQL_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($resultMYSQL_BOTH)) {
    
printf ("ID: %s  Nazwa: %s"$row[0], $row["nazwa"]);  
}
mysql_free_result($result);
?>

Patrz także: mysql_fetch_row(), mysql_fetch_assoc().


MySQL Funkcje
PHP Manual