(PECL CUBRID >= 8.3.1)
cubrid_connect_with_url — 建立连接到 CUBRID 服务器的环境
$conn_url
,$userid
= ?,$passwd
= ?,$new_link
= false
函数 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
注意:
用作 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);
}
?>