PHP8 cubrid_pconnect_with_url

2024-03-28 09:32 更新

(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 连接


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号