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() 用于通过使用包含连接信息的 url 字符串参数来建立连接到服务器的环境。如果在 CUBRID 中启用了 HA 功能,则必须在该函数的 url 字符串参数中指定备用服务器的连接信息,该信息用于在发生故障时进行故障转移。如果未给出用户名和密码,则默认情况下将建立“PUBLIC”连接。

<url> ::= CUBRID:<host>:<db_name>:<db_user>:<db_password>:[?<properties>]

<properties> ::= <property> [&<property>]

<properties> ::= alhosts=<alternative_hosts>[ &rctime=<time>]

<properties> ::= login_timeout=<milli_sec>

<properties> ::= query_timeout=<milli_sec>

<properties> ::= disconnect_on_query_timeout=true|false

<alternative_hosts> ::= <standby_broker1_host>:<port> [,<standby_broker2_host>:<port>]

<host> := HOSTNAME | IP_ADDR

<time> := SECOND

<milli_sec> := MILLI SECOND

  • host : 主数据库的主机名或 IP 地址
  • db_name : 数据库的名称
  • db_user : 数据库用户的名称
  • db_password : 数据库用户密码
  • alhosts : 指定备用服务器的代理信息,该信息用于在无法连接到活动服务器时进行故障转移。可以为故障转移指定多个代理,并且会按照 alhosts 中列出的顺序尝试连接到这些代理。
  • rctime : 在尝试连接到发生故障的活动代理之间的间隔时间。发生故障后,系统将连接到 althosts 指定的代理(故障转移),终止事务,然后每隔 rctime 尝试连接到主数据库的活动代理。默认值为 600 秒。
  • login_timeout : 数据库登录的超时值(单位:毫秒)。默认值为 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";

$conn = cubrid_connect_with_url($url, "dba", "12?");

如果用户或密码为空,则不能删除“:”,以下是一个示例。

$url = "CUBRID:localhost:33000:demodb:::";

参数

conn_url

包含服务器连接信息的字符串。

userid

数据库的用户名。

passwd

用户密码。

new_link

如果第二次调用 cubrid_connect_with_url() 使用相同的参数,则不会建立新的连接,而是返回已打开连接的连接标识符。参数 new_link 修改了此行为,并使 cubrid_connect_with_url() 始终打开新的连接,即使之前使用相同的参数调用过 cubrid_connect_with_url()

返回值

连接标识符(如果进程成功),或 false(如果失败)。

示例

示例 #1 cubrid_connect_with_url() 没有属性的 url 示例

<?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 示例

<?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);
}
?>

参见

添加备注

用户贡献的备注

此页面没有用户贡献的备注。
To Top