PHP8 cubrid_pconnect_with_url
(PECL CUBRID >= 8.3.1)
cubrid_pconnect_with_url — 打开与CUBRID服务器的持久连接
说明
cubrid_pconnect_with_url(string $conn_url, string $userid = ?, string $passwd = ?): resource
建立与 CUBRID 服务器的持久连接。
cubrid_pconnect_with_url() 的行为与 cubrid_connect_with_url() 非常相似,但有两个主要区别。
首先,在连接时,函数将首先尝试找到一个(持久) 已使用相同的主机、端口、dbname 和 userID 打开的链接。如果 找到一个,将返回它的标识符,而不是打开一个 新连接。
其次,与 SQL Server 的连接不会关闭,当 脚本的执行结束。相反,该链接将保持打开状态 将来使用 (cubrid_close() 或 cubrid_disconnect() 不会关闭 cubrid_pconnect_with_url()) 建立的链接。
因此,这种类型的链接称为“持久性”。
<url> ::= CUBRID:<host>:<db_name>:<db_user>:<db_password>:[?<properties>]
<properties> ::= <property> [&<property>]
<properties> ::= alhosts=<alternative_hosts>[ &rctime=<time>]
<属性> ::= login_timeout=<milli_sec>
<属性> ::= query_timeout=<milli_sec>
<properties> ::= disconnect_on_query_timeout=true|false
<alternative_hosts> ::= <standby_broker1_host>:<端口> [,<standby_broker2_host>:<端口>]
<host> := 主机名 |IP_ADDR
<时间> := 秒
<milli_sec> := 秒之间
- host :master 数据库的主机名或 IP 地址
- db_name :数据库的名称
- db_user :数据库用户的名称
- db_password :数据库用户密码
- alhosts :指定备用服务器的代理信息,即 用于无法连接到活动服务器时的故障转移。 您可以指定多个代理进行故障转移,以及与代理的连接 按照 alhosts 中列出的顺序尝试
- rctime :尝试连接到活动代理之间的间隔 发生了哪些故障。发生故障后,系统将连接到 Althosts 指定的代理(故障转移),终止事务,然后 尝试在每个 RCtime 连接到 master 数据库的活动代理。 默认值为 600 秒。
- login_timeout :数据库登录的超时值(单位:毫秒)。默认值 value 为 0,表示无限推迟。
- query_timeout :查询请求的超时值(单位:毫秒)。超时后, 将发送一条消息,以取消请求传输到服务器的查询。回报 值可能取决于disconnect_on_query_timeout配置;即使 取消请求的消息发送到服务器,该请求可能会成功。
- disconnect_on_query_timeout : 配置是否立即返回的值 超时时执行函数的错误。默认值为 false。
注意:?以及用作标识符的 在PHP连接中,密码中不能包含URL。以下是 用作连接 URL 无效的密码示例,因为它包含 "".:?:$url = “CUBRID:localhost:33000:tdb:dba:12?:?login_timeout=100”;包含或可能包含以下内容的密码 作为单独的参数传递。?:$url = “CUBRID:localhost:33000:tbd:::?login_timeout=100”;$ear=kubrid_peakneck_with_url($url, “dba”, “12?”);如果用户或密码为空,则无法删除“”,如下所示 举个例子。:$url = “CUBRID:localhost:33000:demodb:::”;
参数
conn_url
包含服务器连接信息的字符串。
userid
数据库的用户名。
passwd
用户密码。
返回值
Connection identifier, when process is successful, 或者在失败时返回 false.
示例
示例 #1 cubrid_pconnect_with_url() url without properties example
<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::";
$con = cubrid_pconnect_with_url ($conn_url);
if ($con) {
echo "connected successfully";
cubrid_execute($con, "create table person(id int,name char(16))");
$req =cubrid_execute($con, "insert into person values(1,'James')");
if ($req) {
cubrid_close_request ($req);
cubrid_commit ($con);
} else {
cubrid_rollback ($con);
}
cubrid_disconnect ($con);
}
?>
示例 #2 cubrid_pconnect_with_url() url with properties example
<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::?althost=10.34.63.132:33088&rctime=100";
$con = cubrid_pconnect_with_url ($conn_url);
if ($con) {
echo "connected successfully";
$req =cubrid_execute($con, "insert into person values(1,'James')");
if ($req) {
cubrid_close_request ($req);
cubrid_commit ($con);
} else {
cubrid_rollback ($con);
}
cubrid_disconnect ($con);
}
?>
参见
- cubrid_connect() - 打开与 CUBRID 服务器的连接
- cubrid_connect_with_url() - 建立连接到 CUBRID 服务器的环境
- cubrid_pconnect() - 打开与 CUBRID 服务器的持久连接
- cubrid_disconnect() - 关闭数据库连接
- cubrid_close() - 关闭 CUBRID 连接