ibase_pconnect

(PHP 4, PHP 5)

ibase_pconnectOtwiera stałe połączenie do serwera Firebird/InterBase

Opis

resource ibase_pconnect ([ string $baza_danych [, string $użytkownik [, string $hasło [, string $kodowanie_znaków [, int $bufory [, int $dialekt [, string $rola [, int $synchronizacja ]]]]]]]] )

Nawiązuje stałe połączenie z serwerem Firebird/InterBase.

ibase_pconnect() zachowuje się prawie jak ibase_connect(), z dwoma zasadniczymi różnicami.

Pierwsza - podczas łączenia funkcja najpierw spróbuje znaleźć połączenie (stałe), już otwarte z takimi samymi argumentami (host, użytkownik, hasło, ...) Jeżeli je znajdzie, to zostanie zwrócony jego identyfikator, zamiast otwierania nowego połączenia.

Druga - połączenie z serwerem Firebird/Interbase nie zostanie zamknięte po zakończeniu wykonywania skryptu. Zamiast tego połączenie pozostanie otwarte do późniejszego użycia ( ibase_close() nie zamyka połączeń nawiązanych za pomocą ibase_pconnect()). Dlatego też ten typ połączeń nazywany jest 'stałym'.

Parametry

baza_danych

Parametr baza_danych jest ścieżką do pliku bazy danych (lub aliasem zapisanym w pliku aliases.conf) na serwerze, na którym się ona znajduje. Jeżeli serwer nie jest uruchomiony lokalnie, to ścieżka musi być poprzedzona łańcuchem 'nazwa_hosta:' (TCP/IP), '//nazwa_hosta/' (NetBEUI) lub 'nazwa_hosta@' (IPX/SPX), w zależności od używanego protokołu.

użytkownik

Nazwa użytkownika. Może być ona ustawiona za pomocą dyrektywy konfiguracyjnej PHP ibase.default_user w pliku php.ini.

hasło

Hasło użytkownika. Może być ono ustawione za pomocą dyrektywy konfiguracyjnej PHP ibase.default_password w pliku php.ini.

kodowanie_znaków

Parametr kodowanie_znaków jest domyślnym kodowaniem znaków narodowych w bazie danych.

bufory

Parametr bufory jest liczbą buforów bazy danych jaką ma zaalokować serwer w swojej pamięci podręcznej. Jeżeli jest ustawiony na 0, lub jest pominięty, to serwer użyje wartości domyślnej.

dialekt

Parametr dialekt ustawia domyślny dialekt SQL dla wszystkich instrukcji wykonywanych podczas połączenia. Domyślnie jest on ustawiony na najwyższy obsługiwany przez biblioteki klienta. Jest obsługiwany przez InterBase 6 i nowsze wersje.

rola

Są obsługiwane przez InterBase 5 i nowsze wersje.

synchronizacja

Zwracane wartości

Zwraca identyfikator połączenia do serwera Firebird/InterBase w przypadku powodzenia, lub FALSE w przypadku błędu.

Zobacz też:

add a note add a note

User Contributed Notes 1 note

up
1
houston_roadrunner at yahoo dot com
8 years ago
To make a connection to a firebird database with pconnect many people like to use the SYSDBA, or database owner.
example:
$dbConnection = ibase_pconnect('path to db','SYSDBA','masterkey');

The above is fine unless you want to login in various user that have different permissions. To use permission make roles in the database, either as the database creator (or SYSDBA) and grant the roles to the various users.

If you login with...
$dbConnection = ibase_pconnect('path to db', 'USERNAME', 'userpassword');
...interbase will default your user to the PUBLIC role, which is created when the database is create and usualy has select rights on tables only. To get the proper role you will need to use all the parameters, like this...
$user='USERNAME';
$password='userpassword';
$role='MANAGER_HR';
$dbConnection = ibase_pconnect('path to db', $user, $password, '', 0, 3, $role, 0);

BTW - The "path to db", is formed like this...
---------------------
'localhost:c:/firebird/test_db/test.fdb'
---------------------

reading the interbase material, it states 3 connection methods, PHP appears to have selected the tcp type for us. So you can use localhost, or I suspect(never tested this myself) a ip address.
To Top