ibase_pconnect

(PHP 5, PHP 7 < 7.4.0)

ibase_pconnectAbre uma conexão persistente com um banco de dados InterBase

Descrição

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

Abre uma conexão persistente com um banco de dados InterBase

ibase_pconnect() aje muito parecido com ibase_connect() com duas diferenças maiores.

Primeiro, ao conectar, a função irá primeiro tentar encontrar uma conexão (persistente) que já esteja aberta com os mesmos parâmetros. Se uma for encontrada, um identidicador para ela será retornado ao invés de abrir uma nova conexão.

Segundo, a conexão ao servidor InterBase não será fechada quando a execução do script terminar. Ao invés, a conexão permanecerá aberta para uso futuro (ibase_close() não irá fechar conexões criadas por ibase_pconnect()). Este tipo de conexão é então chamado de "persistente".

Parâmetros

database

O argumento database deve ser um caminho válido para o arquivo do banco de dados no sevidor no qual reside. Se o servidor não for local, ele deve ser prefixado com 'hostname:' (TCP/IP), '//hostname/' (NetBEUI) ou 'hostname@' (IPX/SPX), dependendo do protocolo de conexão usado.

username

O nome de usuário, pode ser definido com a diretiva ibase.default_user do php.ini.

password

A senha para username. Pode ser definida com a diretiva ibase.default_password do php.ini.

charset

charset é o conjunto de caracteres padrão para o banco de dados.

buffers

buffers é o número de buffer do banco de dados a serem alocados para o cache do lado do servidor. Se for 0 ou omitido, o servidor escolhe seu próprio padrão.

dialect

dialect define o dialeto SQL padrão para qualquer comand executado na conexão, e o padrão é o mais alto suportado pelas bibliotecas do cliente. Funciona apenas com InterBase 6 e superior.

role

Funcional apenas com o InterBase 5 e posterior.

sync

Valor Retornado

Retorna um identificador de conexão InterBase em caso de sucesso, ou false em caso de erro.

Changelog

Versão Descrição
4.0.0 Os parâmetros buffers, dialect e role foram adicionados

Veja Também

add a note add a note

User Contributed Notes 1 note

up
0
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