Bazy PostreSQL
Opis bazy danych PostgreSQL można znaleźć na stronie
www.postgersql.org
bool pg_close([int id_polaczenia])
- funkcja zamyka połączenie z bazą danych o identyfikatorze
id_polaczenia
int pg_cmdtuples(int id_wynikow)
- funkcja zwraca ilość zbiorów (rekordów) objętych wynikiem wykonywania
zapytania przekazanego do id_wynikow
int pg_connect([string lancuch_polaczenia] | [string host, string
port, [string opcje, [string tty,]] string nazwa_bazy])
- funkcja nawiązuje połączenie z bazą danych PostgreSQL wykorzystując
parametry, tj. adres komputera host, numer portu
port, nazwa
użytkownika, hasło, itp.
string pg_dbname([int id_polaczenia])
- funkcja zwraca nazwę bieżącej bazy danych lub z połączenia o
identyfikatorze id_polaczenia; w przypadku braku połączenia funkcja
zwraca wartość false
string pg_errormessage([int id_polaczenia])
- funkcja zwraca opis błędu w postaci łańcucha znakowego
int pg_exec([int id_polaczenia,] string zapytanie)
- funkcja wykonuje zapytanie zapytanie na bazie o identyfikatorze
id_polaczenia
array pg_fetch_array(int id_wynikow, int numer_wiersza [,
typ_wyniku])
- funkcja zwraca tablicę zawierającą wartości poszczególnych pól z
wyniku zapytania przechowywanym pod identyfikatorem
id_wynikow o numerze
wiersza numer_wiersza; funkcja jest bardziej rozbudowaną wersją funkcji
pg_fetch_row() gdyż oprócz dostępu do poszczególnych pól danego rekordu
(wiersza) za pomocą wartości liczbowych istnieje możliwość pobrania ich
wartości używając nazwy pól (tzw. tablica accocjacyjna);
typ_wyniku może
przyjąć wartości: PGSQL_ASSOC,
PGSQL_NUM, PGSQL_BOTH
object pg_fetch_object(int id_wynikow, int wiersz [, typ_wyniku])
- funkcja zwraca obiekt zawierający wartości poszczególnych pól z wyniku
zapytania przechowywanym pod identyfikatorem id_wynikow o numerze
wiersza numer_wiersza; dostęp do pola odbywa się następująco:
$dane = pg_fetch_object($wynik, $wiersz);
echo ($dane->nazwa_pola);
array pg_fetch_row(int id_wynikow, int wiersz)
- funkcja zwraca tablicę zawierającą wartości poszczególnych pól z
wyniku zapytania przechowywanym pod identyfikatorem
id_wynikow o numerze
wiersza numer_wiersza; dostęp do poszczególnych pól odbywa się poprzez
podanie numeru pola, np.:
$dane = pg_fetch_row($wynik, $wiersz);
echo ($dane[0]);
int pg_fieldisnull(int id_wynikow, int numer_wiersza, mixed pole)
- funkcja sprawdzająca czy pole pole z wiersza o numerze
numer_wiersza
ze zbioru rekordów o identyfikatorze id_wynikow posiada wartość
NULL
string pg_fieldname(int id_wynikow, int numer_pola)
- funkcja zwraca nazwę pola o numerze podanym w
numer_pola ze zbioru
rekordów o identyfikatorze id_wynikow
int pg_fieldnum(int id_wynikow, string nazwa_pola)
- funkcja zwraca numer pola o nazwie nazwa_pola ze zbioru rekordów o
identyfikatorze id_wynikow
int pg_fieldprtlen(int id_wynikow, int numer_pola, string
nazwa_pola)
- funkcja zwraca aktualną długość wydrukowanej zawartości (liczbę
znaków) specyficznych wartości wskazanego pola
int pg_fieldsize(int id_wynikow, int numer_pola)
- funkcja zwraca wartość długości wewnętrznej pola o numerze
numer_pola
ze zbioru rekordów o identyfikatorze id_wynikow; jeśli zwrócona zostanie
wartość -1 oznacza to, że pole jest zmiennej długości
string pg_fieldtype(int id_wynikow, int numer_pola)
- funkcja zwraca typ pola o numerze numer_pola ze zbioru rekordów o
identyfikatorze id_wynikow
int pg_freeresult(int id_wynikow)
- funkcja zwalnia pamięć zajmowaną na przechowanie wyników o
identyfikatorze id_wynikow; funkcja także jest automatycznie wywoływana
po zakończeniu wykonywania skryptu
int pg_getlastoid(int id_wynikow)
- funkcja zwraca ostatni identyfikator obiektu ze zbioru rekordów o
identyfikatorze id_wynikow; funkcja zwraca wartość
-1 jeśli komendą
wysłaną do bazy przy pomocy funkcji pg_exec() nie był INSERT, w
przeciwnym wypadku wartość będzie liczbą dodatnią
string pg_host(int id_polaczenia)
- funkcja zwraca nazwę hosta z połączenia o identyfikatorze
id_polaczenia
void pg_loclose(int deskryptor_pliku)
- funkcja zamyka duży obiekt
int pg_locreate(int id_polaczenia)
- funkcja tworzy duży obiekt dla określonego połączenia poprzez
identyfikaroe id_polaczenia
int pg_loopen(int id_polaczenia, int id_obiektu, string tryb)
- funkcja otwiera duży obiekt oraz zwraca jego deskryptor pliku;
deskryptor pliku zawiera informacje na temat połączenia;
UWAGA: nie wolno zamykać połączenia przed zamknięciem deskryptora pliku
dużego obiektu
string pg_loread(int deskryptor_pliku, int dlugosc)
- funkcja odczytuje zawartość dużego obiektu o długości
dlugosc
void pg_loreadall(int deskryptor_pliku, int dlugosc)
- funkcja odczytuje całą zawartość dużego obiektu i przesyła ją do
przeglądarki tuż po wysłaniu wszystkich nagłówków; używana przy
wysyłaniu danych binarnych tj. bitmap czy dźwięku
void pg_lounlink(int id_polaczenia, int id_obiektu)
- funkcja usuwa duży obiekt o identyfikatorze id_obiektu z połączenia o
identyfikatorze id_polaczenia
int pg_lowrite(int deskryptor_pliku, string bufor)
- funkcja zapisuje duży obiekt zawarty w zmiennej
bufor i zwraca ilość
zapisanych bajtów lub wartość false jeśli wystąpił błąd
int pg_numfields(int id_wynikow)
- funkcja zwraca ilość pól zawartych w zbiorze wyników o identyfikatorze
id_wynikow, zwróconego przez funkcję
pg_exec()
int pg_numrows(int id_wynikow)
- funkcja zwraca ilość wierszy zawartych w zbiorze wyników o
identyfikatorze id_wynikow, zwróconego przez funkcję
pg_exec()
string pg_options(int id_polaczenia)
- funkcja zwraca opcje skojarzone z danym połączeniem
id_polaczenia w
postaci łańcucha
int pg_pconnect([string lancuch_polaczenia] | [string host,
string port, [string opcje, [string tty,]] string nazwa_bazy])
- funkcja nawiązuje trwałe połączenie (niezamykane w czasie zakończenia
wykonywania skryptu) z bazą danych PostgreSQL wykorzystując parametry,
tj. adres komputera host, numer portu
port, nazwa użytkownika, hasło,
itp.
int pg_port([int id_polaczenia])
- funkcja zwraca numer portu skojarzonego z połączeniem o
identyfikatorze id_polaczenia
mixed pg_result(int id_wynikow, int numer_wiersza, mixed
nazwa_pola)
- funkcja zwraca zawartość pola o podanej nazwie lub numerze w
nazwa_pola z wiersza o numerze
numer_wiersza z wyników o identyfikatorze
id_wynikow; instrukcja jest równoważna:
$row = pg_fetch_array($id_wynikow, $numer_wiersza);
return $row[$nazwa_pola];
string pg_tty(int id_polaczenia)
- funkcja zwraca nazwę tty skojarzoną z danym połączeniem
Przykład użycia powyższych funkcji
/* nawiązanie połaczenia z bazą
PostgreSQL o nazwie nazwa_bazy na hoście www.strona.pl */
$conn = pg_connect("host='www.strona.pl'
dbname='nazwa_bazy' user='uzytkownik' password='haslo'");
$sql_query = "SELECT * FROM tabela;";
/* wykonanie zapytania zapisanego w
zmiennej $sql_query i zapisane wyniku w $wynik */
$wynik = pg_exec($sql_query);
/* pobranie ilości wierszy */
$ilosc_wierszy = pg_numrows($wynik);
/* pętla przemieszczająca sie po
kolejnych wierszach znajdujących się w wyniku $wynik */
for ($i = 0; $i < $ilosc_wierszy; $i++)
{
/* pobranie pojedynczego wiersza i
zapisanie go do zmiennej $row jako tablicy asocjacyjnej */
$row = pg_fetch_array($wynik, $i);
/* pokazanie pola o nazwie nazwa_pola */
echo ($row["nazwa_pola"]."\n");
}
/* zwolnienie pamięci zajmowanej na
przechowanie rekordów */
pg_freeresult($wynik);
/* zamknięcie połączenia z bazą danych */
pg_close($conn);
|
Autor: Krzysztof Stelmach
Strona pochodzi z http://www.stelmach.info/