codecamp

PHP8 cubrid_get_db_parameter

(PECL CUBRID >= 8.3.0)

cubrid_get_db_parameter — 返回 CUBRID 数据库参数

说明

cubrid_get_db_parameter(resource $conn_identifier): array

此函数返回 CUBRID 数据库参数, 或者在失败时返回 false. 它返回一个关联数组,其中包含以下参数的值:

  • PARAM_ISOLATION_LEVEL
  • PARAM_LOCK_TIMEOUT
  • PARAM_MAX_STRING_LENGTH
  • PARAM_AUTO_COMMIT
数据库参数
参数描述
PARAM_ISOLATION_LEVEL事务隔离级别。
LOCK_TIMEOUTCUBRID提供锁定超时功能,用于设置等待 锁定的时间(以秒为单位),直到事务锁定设置为 允许。lock_timeout_in_secs参数的默认值为 -1,这意味着应用程序客户端将无限期地等待,直到 允许交易锁定。
PARAM_AUTO_COMMIT在 CUBRID PHP 中,自动提交模式默认为 事务管理。可以使用 cubrid_set_autocommit() 进行设置。

下表显示了从 1 到 6 的隔离级别。它包括 表架构(行)和隔离级别:

CUBRID支持的隔离级别
名字描述
可序列化 (6)在这个隔离级别中,有关并发性的问题(例如 脏读、不可重复读、幻影读等)不要 发生。
具有可重复读取实例的可重复读取类 (5)另一个事务 T2 无法更新表 A 的架构,而 事务 T1 正在查看表 A。 事务 T1 可能会遇到记录 R 的幻像读取,该记录是 由另一个事务 T2 插入,当它重复检索 特定记录。
具有 READ COMMITTED INSTANCES(或游标稳定性)的可重复读取类 (4)另一个事务 T2 无法更新表 A 的架构,而 事务 T1 正在查看表 A。 事务 T1 可能会遇到 R 读取(不可重复读取) 由另一个事务 T2 重复更新和提交 检索记录 R。
具有读取未提交实例的可重复读取类 (3)默认隔离级别。另一个事务 T2 无法更新 当事务 T1 正在查看表 A 时,表 A 的架构。 事务 T1 可能会遇到 R' 读取(脏读取)的记录 已更新,但未由另一个事务 T2 提交。
具有 READ COMMITTED INSTANCES 的 READ COMMITTED CLASS (2)事务 T1 可能会遇到 A' 读取(不可重复读取) 由另一个事务 T2 更新和提交的表 当它反复查看表 A 时。交易 T1 可能会遇到 R' read(不可重复读取)用于更新的记录和 由另一个事务 T2 在检索记录时提交 R 反复出现。
具有 READ UNCOMMITTED INSTANCES 的 READ COMMITTED CLASS (1)事务 T1 可能会遇到 A' 读取(不可重复读取) 由另一个事务 T2 更新和提交的表 当它重复查看表 A 时。 事务 T1 可能会遇到 R' read (dirty read) 表示已更新但未提交的记录 通过另一个事务 T2。

参数 

conn_identifier

CUBRID 连接。如果未指定连接标识符, 假定 cubrid_connect() 打开的最后一个链接。

返回值 

具有 CUBRID 数据库参数的关联数组;on success, 或者在失败时返回 false.

更新日志 

版本说明
8.4.0将LOCK_TIMEOUT更改为 PARAM_LOCK_TIMEOUT,将 MAX_STRING_LENGTH更改为 结果PARAM_MAX_STRING_LENGTH。

示例 

示例 #1 cubrid_get_db_parameter() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33088, "demodb");

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:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $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

参见 

  • cubrid_set_db_parameter() - 设置 CUBRID 数据库参数
  • cubrid_get_autocommit() - 获取连接的自动提交模式


PHP8 cubrid_get_client_info
PHP8 cubrid_get_query_timeout
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

PHP8 语言参考

PHP8 函数参考

PHP8 影响 PHP 行为的扩展

PHP8 Componere

PHP8 安装/配置

PHP8 外部函数接口

PHP8 选项和信息

PHP8 选项/信息 函数

PHP8 Windows Cache for PHP

PHP8 WinCache 函数

PHP8 Yac

PHP8 身份认证服务

PHP8 Radius 函数

PHP8 压缩与归档扩展

PHP8 Phar

PHP8 Zip

PHP8 ZipArchive 类

PHP8 加密扩展

PHP8 OpenSSL

PHP8 OpenSSL 函数

PHP8 Sodium 函数

PHP8 数据库扩展

PHP8 针对各数据库系统对应的扩展

PHP8 CUBRID 函数

PHP8 Firebird/InterBase

PHP8 Firebird/InterBase函数

PHP8 MongoDB介绍驱动程序体系结构和特殊功能

PHP8 MongoDB\Driver\Command 类

PHP8 MongoDB\Driver\Query 类

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }