ibase_pconnect
(PHP 5)
ibase_pconnect — Open a persistent connection to an InterBase database
Description
$database
[, string $username
[, string $password
[, string $charset
[, int $buffers
[, int $dialect
[, string $role
[, int $sync
]]]]]]]] )Opens a persistent connection to an InterBase database.
ibase_pconnect() acts very much like ibase_connect() with two major differences.
First, when connecting, the function will first try to find a (persistent) link that's already opened with the same parameters. If one is found, an identifier for it will be returned instead of opening a new connection.
Second, the connection to the InterBase server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (ibase_close() will not close links established by ibase_pconnect()). This type of link is therefore called 'persistent'.
Parameters
-
database
-
The
database
argument has to be a valid path to database file on the server it resides on. If the server is not local, it must be prefixed with either 'hostname:' (TCP/IP), '//hostname/' (NetBEUI) or 'hostname@' (IPX/SPX), depending on the connection protocol used. -
username
-
The user name. Can be set with the ibase.default_user php.ini directive.
-
password
-
The password for
username
. Can be set with the ibase.default_password php.ini directive. -
charset
-
charset
is the default character set for a database. -
buffers
-
buffers
is the number of database buffers to allocate for the server-side cache. If 0 or omitted, server chooses its own default. -
dialect
-
dialect
selects the default SQL dialect for any statement executed within a connection, and it defaults to the highest one supported by client libraries. Functional only with InterBase 6 and up. -
role
-
Functional only with InterBase 5 and up.
-
sync
-
Return Values
Returns an InterBase link identifier on success, or FALSE
on error.
See Also
- ibase_close() - Close a connection to an InterBase database
- ibase_connect() - Open a connection to a database
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для работы с базами данных
- Расширения для работы с базами данных отдельных производителей
- Firebird/InterBase
- ibase_add_user
- ibase_affected_rows
- ibase_backup
- ibase_blob_add
- ibase_blob_cancel
- ibase_blob_close
- ibase_blob_create
- ibase_blob_echo
- ibase_blob_get
- ibase_blob_import
- ibase_blob_info
- ibase_blob_open
- ibase_close
- ibase_commit_ret
- ibase_commit
- ibase_connect
- ibase_db_info
- ibase_delete_user
- ibase_drop_db
- ibase_errcode
- ibase_errmsg
- ibase_execute
- ibase_fetch_assoc
- ibase_fetch_object
- ibase_fetch_row
- ibase_field_info
- ibase_free_event_handler
- ibase_free_query
- ibase_free_result
- ibase_gen_id
- ibase_maintain_db
- ibase_modify_user
- ibase_name_result
- ibase_num_fields
- ibase_num_params
- ibase_param_info
- ibase_pconnect
- ibase_prepare
- ibase_query
- ibase_restore
- ibase_rollback_ret
- ibase_rollback
- ibase_server_info
- ibase_service_attach
- ibase_service_detach
- ibase_set_event_handler
- ibase_trans
- ibase_wait_event
Коментарии
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.