pg_fetch_array
(PHP 4, PHP 5)
pg_fetch_array — Pobiera wiersz jako tablicę
Opis
$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.
Parametry
-
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_wynikujest stałą i może przyjąć następujące wartości:PGSQL_ASSOC,PGSQL_NUMorazPGSQL_BOTH. UżywającPGSQL_NUM, pg_fetch_array() zwróci tablicę z indeksami numerycznymi, użyciePGSQL_ASSOCzwróci wyłącznie indeksy asocjacyjne podczas, gdyPGSQL_BOTH, wartość domyślna, zwróci oba rodzaje indeksów - numeryczne i asocjacyjne.
Zwracane wartości
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.
Rejestr zmian
| Wersja | Opis |
|---|---|
| 4.1.0 |
Parametr wiersz stał się opcjonalnym.
|
Przykłady
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";
?>
Zobacz też:
- pg_fetch_row() - Pobiera wiersz jako tablicę z indeksami numerycznymi
- pg_fetch_object() - Pobiera wiersz jako obiekt
- pg_fetch_result() - Pobiera dane z wyniku
