ibase_pconnect

(PHP 5, PHP 7 < 7.4.0)

ibase_pconnectOuvre une connexion persistante à une base de données InterBase

Description

ibase_pconnect(
    string $database = ?,
    string $username = ?,
    string $password = ?,
    string $charset = ?,
    int $buffers = ?,
    int $dialect = ?,
    string $role = ?,
    int $sync = ?
): resource

Ouvre une connexion persistante à une base de données InterBase.

ibase_pconnect() se comporte similairement à ibase_connect(), avec deux différences majeures.

La première est que, lors de la connexion, la fonction va essayer de trouver une connexion (persistante) déjà ouverte. Si elle la trouve, cette dernière sera retournée, plutôt qu'une nouvelle connexion. Sinon, une nouvelle connexion sera ouverte.

La deuxième est que la connexion ne sera pas fermée à la fin du script, mais restera ouverte pour utilisation ultérieure. (ibase_close() ne fermera pas une connexion ouverte avec ibase_pconnect()). Ce type de lien est alors dit 'persistant'.

Liste de paramètres

database

L'argument database doit être un chemin valide vers le fichier de la base de données sur le serveur où il réside. Si le serveur n'est pas local, il doit être préfixé avec soit 'hostname:' (TCP/IP), '//hostname/' (NetBEUI) ou 'hostname@' (IPX/SPX), suivant le protocole utilisé.

username

Le nom d'utilisateur. Peut être défini avec la directive ibase.default_user du php.ini.

password

Le mot de passe pour l'utilisateur username. Peut être défini avec la directive ibase.default_password du php.ini.

charset

charset est le jeu de caractères par défaut pour la base de données.

buffers

buffers est le nombre de buffers de la base de données à allouer pour le cache côté serveur. Si ce paramètre vaut 0 ou s'il est omis, le serveur choisira lui-même ce nombre.

dialect

dialect sélectionne le dialecte SQL par défaut pour toutes les requêtes exécutées dans la connexion, et vaudra par défaut, le plus haut supporté par la bibliothèque cliente. Ne fonctionne qu'avec InterBase 6 et supérieur.

role

Ne fonctionne qu'avec InterBase 5 et supérieur.

sync

Valeurs de retour

Retourne un identifiant de connexion InterBase en cas de succès, ou false si une erreur survient.

Voir aussi

add a note add a note

User Contributed Notes 1 note

up
1
houston_roadrunner at yahoo dot com
18 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