PHP8 cubrid_connect_with_url

2024-03-27 10:21 更新

(PECL CUBRID >= 8.3.1)

cubrid_connect_with_url — 建立連接到CUBRID服務器的環(huán)境

說明

cubrid_connect_with_url(
    string $conn_url,
    string $userid = ?,
    string $passwd = ?,
    bool $new_link = false
): resource

cubrid_connect_with_url() 函數(shù)用于 使用 Connection 建立連接到服務器的環(huán)境 使用 URL 字符串參數(shù)傳遞的信息。如果 HA 功能是 在 CUBRID 中啟用,您必須指定 備用服務器,用于在發(fā)生故障時進行故障轉(zhuǎn)移,在 URL 中 此函數(shù)的字符串參數(shù)。如果用戶名和密碼不是 給定,則默認情況下將建立“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 數(shù)據(jù)庫的主機名或 IP 地址
  • db_name :數(shù)據(jù)庫的名稱
  • db_user :數(shù)據(jù)庫用戶的名稱
  • db_password :數(shù)據(jù)庫用戶密碼
  • alhosts :指定備用服務器的代理信息,即 用于無法連接到活動服務器時的故障轉(zhuǎn)移。 您可以指定多個代理進行故障轉(zhuǎn)移,以及與代理的連接 按照 alhosts 中列出的順序嘗試
  • rctime :嘗試連接到活動代理之間的間隔 發(fā)生了哪些故障。發(fā)生故障后,系統(tǒng)將連接到 Althosts 指定的代理(故障轉(zhuǎn)移),終止事務,然后 嘗試在每個 RCtime 連接到 master 數(shù)據(jù)庫的活動代理。 默認值為 600 秒。
  • login_timeout :數(shù)據(jù)庫登錄的超時值(單位:毫秒)。默認值 value 為 0,表示無限推遲。
  • query_timeout :查詢請求的超時值(單位:毫秒)。超時后, 將發(fā)送一條消息,以取消請求傳輸?shù)椒掌鞯牟樵?。回?值可能取決于disconnect_on_query_timeout配置;即使 取消請求的消息發(fā)送到服務器,該請求可能會成功。
  • disconnect_on_query_timeout : 配置是否立即返回的值 超時時執(zhí)行函數(shù)的錯誤。默認值為 false。
注意:?以及用作標識符的 在PHP連接中,密碼中不能包含URL。以下是 用作連接 URL 無效的密碼示例,因為它包含 "".:?:$url = “CUBRID:localhost:33000:tdb:dba:12?:?login_timeout=100”;包含或可能作為單獨參數(shù)傳遞的密碼。?:$url = “CUBRID:localhost:33000:tbd:::?login_timeout=100”;$ear=kubrid_connect_with_url($url, “分貝”, “12?”);如果用戶或密碼為空,則無法刪除“”,如下所示 舉個例子。:$url = “CUBRID:localhost:33000:demodb:::”;

參數(shù) 

conn_url

包含服務器連接信息的字符串。

userid

數(shù)據(jù)庫的用戶名。

passwd

用戶密碼。

new_link

如果使用相同的參數(shù)對 cubrid_connect_with_url() 進行第二次調(diào)用, 不會建立新連接,而是建立連接 將返回已打開的連接的標識符。該參數(shù)修改此行為,并 使 cubrid_connect_with_url() 始終打開一個新的 連接,即使 cubrid_connect_with_url() 是 使用相同的參數(shù)調(diào)用之前。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() - 關(guān)閉數(shù)據(jù)庫連接
  • cubrid_close() - 關(guān)閉 CUBRID 連接


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號