(PHP 4, PHP 5)
pg_fetch_array — Pobiera wiersz jako tablicę
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.
Identyfikator wyniku zapytania PostgreSQL, zwrócony przez pg_query(), pg_query_params() lub pg_execute() (między innymi).
Numer wiersza w wyniku do pobrania. Wiersze są numerowane od zera w górę. Jeśli pominięty, pobierany jest kolejny wiersz.
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";
?>