SunshinePHP Developer Conference 2015

ibase_pconnect

(PHP 5)

ibase_pconnectAbrir una conexión persistente con una base de datos InterBase

Descripción

resource ibase_pconnect ([ string $database [, string $username [, string $password [, string $charset [, int $buffers [, int $dialect [, string $role [, int $sync ]]]]]]]] )

Abre una conexión persistente con una base de datos InterBase.

ibase_pconnect() actúa de forma muy similar a ibase_connect() con dos diferencias significativas.

Primero, cuando se crea una conexión, la función intentará primero encontrar un enlace (persistente) ya abierto con los mismos parámetros. Si se encuentra uno, se devolverá un identificador para él, en lugar de abrir una nueva conexión.

Segundo, la conexión con el servidor InterBase no será cerrada cuando finalice la ejecución del script. En su lugar, el enlace permanecerá abierto para su uso futuro (ibase_close() no cerrará enlaces establecidos con ibase_pconnect()). Este tipo de enlace es por lo tanto llamado 'persistente'.

Parámetros

database

El argumento database debe ser una ruta válida al archivo de base de datos en el servidor en el que reside. Si el servidor no es local, debe ser precedido por 'nombre_host:' (TCP/IP), '//nombre_host/' (NetBEUI) o 'nombre_host@' (IPX/SPX), dependiendo del protocolo usado.

username

El nombre de usuario. Puede ser definido mediante la directiva de php.ini ibase.default_user.

password

La contraseña para username. Puede ser definida con la directiva de php.ini ibase.default_password.

charset

charset es el juego de caracteres predeterminado para una base de datos.

buffers

buffers es el número de búfers de base de datos a reservar para el caché en el lado del servidor. Si es 0 o se omite, el servidor elige su propio valor predeterminado.

dialect

dialect selecciona el dialecto SQL predeterminado para cualquier sentencia ejecutada en la conexión, y su valor por omisión es el más alto soportado por las bibliotecas cliente. Este parámetro es funcional únicamente con InterBase 6 y versiones posteriores.

role

Funcional únicamente con InterBase 5 y versiones posteriores.

sync

Valores devueltos

Devuelve un identificador de enlace InterBase en caso de éxito, o FALSE si ocurre un error.

Ver también

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