要使用 pconnect 连接到 Firebird 数据库,许多人喜欢使用 SYSDBA 或数据库所有者。
例如
$dbConnection = ibase_pconnect('数据库路径', 'SYSDBA', 'masterkey');
如果只想登录各种具有不同权限的用户,则上述方法是可行的。要使用权限,您需要在数据库中创建角色,无论是作为数据库创建者(或 SYSDBA)还是授予各种用户角色。
如果您使用...
$dbConnection = ibase_pconnect('数据库路径', '用户名', '用户密码');
...Interbase 将默认您的用户为 PUBLIC 角色,该角色是在创建数据库时创建的,通常只有对表的 SELECT 权限。要获取正确的角色,您需要使用所有参数,如下所示...
$user='用户名';
$password='用户密码';
$role='MANAGER_HR';
$dbConnection = ibase_pconnect('数据库路径', $user, $password, '', 0, 3, $role, 0);
顺便说一下 - “数据库路径” 的格式如下...
---------------------
'localhost:c:/firebird/test_db/test.fdb'
---------------------
阅读 Interbase 文档,它指出 3 种连接方法,PHP 似乎为我们选择了 TCP 类型。因此您可以使用 localhost,或者我怀疑(我自己从未测试过)IP 地址。