(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:<主机>:<数据库名>:<数据库用户>:<数据库密码>:[?<属性>]
<属性> ::= <属性> [&<属性>]
<属性> ::= alhosts=<备用主机>[ &rctime=<时间>]
<属性> ::= login_timeout=<毫秒>
<属性> ::= query_timeout=<毫秒>
<属性> ::= disconnect_on_query_timeout=true|false
<备用主机> ::= <备用代理1主机>:<端口> [,<备用代理2主机>:<端口>]
<主机> := 主机名 | IP地址
<时间> := 秒
<毫秒> := 毫秒
注意:
在PHP连接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 "连接成功";
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 "连接成功";
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);
}
?>