(PECL CUBRID >= 8.3.1)
cubrid_pconnect — 打开与 CUBRID 服务器的持久连接
$host
,$port
,$dbname
,$userid
= ?,$passwd
= ?建立与 CUBRID 服务器的持久连接。
cubrid_pconnect() 的行为与 cubrid_connect() 非常相似,但有两个主要区别。
首先,在连接时,函数会先尝试找到一个已经打开的(持久)连接,该连接具有相同的 host、port、dbname 和 userid。如果找到,则会返回其标识符,而不是打开新的连接。
其次,脚本执行结束后,与 SQL 服务器的连接不会关闭。相反,连接将保持打开状态以供将来使用(cubrid_close() 或 cubrid_disconnect() 不会关闭由 cubrid_pconnect() 建立的连接)。
因此,这种类型的连接被称为“持久”连接。
host
CUBRID CAS 服务器的主机名或 IP 地址。
port
CUBRID CAS 服务器的端口号(在 $CUBRID/conf/cubrid_broker.conf 中配置的 BROKER_PORT)。
dbname
数据库的名称。
userid
数据库的用户名。
passwd
用户密码。
连接标识符,进程成功时,或在失败时为 false
。
示例 #1 cubrid_connect() 示例
<?php
printf("%-30s %s\n", "CUBRID PHP 版本:", cubrid_version());
printf("\n");
$conn = cubrid_pconnect("localhost", 33000, "demodb", "dba");
if (!$conn) {
die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}
$db_params = cubrid_get_db_parameter($conn);
while (list($param_name, $param_value) = each($db_params)) {
printf("%-30s %s\n", $param_name, $param_value);
}
printf("\n");
$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();
printf("%-30s %s\n", "服务器信息:", $server_info);
printf("%-30s %s\n", "客户端信息:", $client_info);
printf("\n");
$charset = cubrid_get_charset($conn);
printf("%-30s %s\n", "CUBRID 字符集:", $charset);
cubrid_disconnect($conn);
?>
上面的示例将输出
CUBRID PHP Version: 9.1.0.0001 PARAM_ISOLATION_LEVEL 3 LOCK_TIMEOUT -1 MAX_STRING_LENGTH 1073741823 PARAM_AUTO_COMMIT 1 Server Info: 9.1.0.0212 Client Info: 9.1.0 CUBRID Charset: iso8859-1