PHP8 cubrid_connect_with_url
(PECL CUBRID >= 8.3.1)
cubrid_connect_with_url — 建立连接到CUBRID服务器的环境
说明
cubrid_connect_with_url(
string $conn_url,
string $userid = ?,
string $passwd = ?,
bool $new_link = false
): resource
cubrid_connect_with_url() 函数用于 使用 Connection 建立连接到服务器的环境 使用 URL 字符串参数传递的信息。如果 HA 功能是 在 CUBRID 中启用,您必须指定 备用服务器,用于在发生故障时进行故障转移,在 URL 中 此函数的字符串参数。如果用户名和密码不是 给定,则默认情况下将建立“PUBLIC”连接。
<url> ::= CUBRID:<host>:<db_name>:<db_user>:<db_password>:[?<properties>]
<properties> ::= <property> [&<property>]
<属性> ::= 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_connect_with_url($url, “分贝”, “12?”);如果用户或密码为空,则无法删除“”,如下所示 举个例子。:$url = “CUBRID:localhost:33000:demodb:::”;
参数
conn_url
包含服务器连接信息的字符串。
userid
数据库的用户名。
passwd
用户密码。
new_link
如果使用相同的参数对 cubrid_connect_with_url() 进行第二次调用, 不会建立新连接,而是建立连接 将返回已打开的连接的标识符。该参数修改此行为,并 使 cubrid_connect_with_url() 始终打开一个新的 连接,即使 cubrid_connect_with_url() 是 使用相同的参数调用之前。
new_link
返回值
Connection identifier, when process is successful, 或者在失败时返回 false.
示例
示例 #1 cubrid_connect_with_url() url without properties example
<?php
$conn_url = "CUBRID:localhost:33000:demodb:dba::";
$con = cubrid_connect_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_connect_with_url() url with properties 示例
<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::?login_timeout=100";
$con = cubrid_connect_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);
}
?>
参见
- cubrid_connect() - 打开与 CUBRID 服务器的连接
- cubrid_pconnect() - 打开与 CUBRID 服务器的持久连接
- cubrid_pconnect_with_url() - 打开与 CUBRID 服务器的持久连接
- cubrid_disconnect() - 关闭数据库连接
- cubrid_close() - 关闭 CUBRID 连接