(PHP 4, PHP 5)
pg_fetch_array — Pobiera wiersz jako tablicę
$wynik
[, int $wiersz
[, int $typ_wyniku
= PGSQL_BOTH
]] )pg_fetch_array() zwraca tablicę zawierającą dane z pobranego wiersza (rekordu).
pg_fetch_array() jest rozszerzeną wersją pg_fetch_row(). Oprócz zapisywania danych w tablicy wyników indeksowanej numerycznie, zapisuje je też używając indeksów przyporządkowujących (asocjacyjnych) tej tablicy, nazwy kolumn traktując jako klucze. Domyślnie zapisywane są oba rodzaje indeksów.
Informacja: Ta funkcja ustala wartość pól NULL na
NULL
.
pg_fetch_array() NIE jest znacznie wolniejsze, niż używanie pg_fetch_row(), oraz jest zdecydowanie łatwiejsze do użycia.
wynik
Identyfikator wyniku zapytania PostgreSQL, zwrócony przez pg_query(), pg_query_params() lub pg_execute() (między innymi).
wiersz
Numer wiersza w wyniku do pobrania. Wiersze są numerowane od zera w górę. Jeśli jest pominięty
albo wynosi NULL
, pobrany zostanie kolejny wiersz.
typ_wyniku
Opcjonalny parametr kontrolujący
w jaki sposób zwrócona tablica (ang. array) jest indeksowana.
typ_wyniku
jest stałą i może przyjąć
następujące wartości: PGSQL_ASSOC
,
PGSQL_NUM
oraz PGSQL_BOTH
.
Używając PGSQL_NUM
, pg_fetch_array()
zwróci tablicę z indeksami numerycznymi, użycie
PGSQL_ASSOC
zwróci wyłącznie indeksy asocjacyjne
podczas, gdy PGSQL_BOTH
, wartość domyślna, zwróci oba
rodzaje indeksów - numeryczne i asocjacyjne.
Tablica (ang. array) indeksowana numerycznie (zaczynając od zera) lub
asocjacyjnie (indeksowana przez nazwy kolumn), lub tak i tak.
Każda wartość w tablicy (ang. array) jest przedstawiona jako łańcuch
(ang. string). Wartości NULL z bazy danych
są zwracane jako NULL
.
FALSE
zostanie zwrócone jeśli wiersz
przekracza ilość
wierszy w całym zbiorze, nie ma więcej wierszy, lub dowolnym innym błędzie.
Wersja | Opis |
---|---|
4.1.0 |
Parametr wiersz stał się opcjonalnym.
|
Przykład #1 pg_fetch_array() - przykład
<?php
$polaczenie_z_baza = pg_pconnect("dbname=wydawca");
if (!$polaczenie_z_baza) {
echo "Wystąpił błąd.\n";
exit;
}
$wynik = pg_query($polaczenie_z_baza, "SELECT autor, email FROM autorzy");
if (!$wynik) {
echo "Wystąpił błąd.\n";
exit;
}
$tab = pg_fetch_array($wynik, 0, PGSQL_NUM);
echo $tab[0] . " <- Wiersz 1 Autor\n";
echo $tab[1] . " <- Wiersz 1 E-mail\n";
// Jako, że w PHP 4.1.0, parametr wiersz jest opcjonalny; można podać w zamian NULL,
// by podać typ_wyniku. Kolejne wywołanie funkcji pg_fetch_array zwróci
// następny wiersz.
$tab = pg_fetch_array ($wynik, 1, PGSQL_ASSOC);
echo $tab["autor"] . " <- Wiersz 2 Autor\n";
echo $tab["email"] . " <- Wiersz 2 E-mail\n";
$tab = pg_fetch_array($wynik);
echo $tab["autor"] . " <- Wiersz 3 Autor\n";
echo $tab[1] . " <- Wiersz 3 E-mail\n";
?>