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.
ibase_pconnect
(PHP 4, PHP 5)
ibase_pconnect — Otwiera stałe połączenie do serwera Firebird/InterBase
Opis
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.
Rejestr zmian
| Wersja | Opis |
|---|---|
| 4.0.0 | Dodano parametry bufory , dialekt i rola . |
ibase_pconnect
19-Apr-2006 06:18
