PHP8 PDO_CUBRID
简介
PDO_CUBRID 是一个驱动程序,它实现了 PHP 数据对象 (PDO) 接口 启用从 PHP 到 CUBRID 数据库的访问。
注意:当前版本的 PDO_CUBRID 现在不支持持久连接。
安装
要构建 PDO_CUBRID 扩展,必须将 CUBRID DBMS 安装在 与PHP相同的系统。 PDO_CUBRID 是 » PECL 扩展,因此请按照 PECL 扩展安装中的说明安装 PDO_CUBRID 扩展。 发出 configure 命令以指向 CUBRID 基本目录如下:
$ ./configure --with-pdo-cubrid=/path/to/CUBRID[,shared]configure
命令默认为环境变量的值。
CUBRIDPECL 扩展的 DLL 当前不可用。参见 在 Windows 上构建章节。有关在 Linux 和 Windows手动,请阅读PECL包CUBRID中的build-guide.html 参考。
特征
特征 | 描述 |
---|---|
可滚动光标 | PDO_CUBRID支持可滚动光标。默认游标类型为 仅向前,您可以使用 PDO::p repare() 中的参数 driver_options 来更改游标类型。 |
超时 | PDO_CUBRID支持sql语句执行超时设置; 您可以使用 PDO::setAttribute() 设置超时值。 |
Autocommit_mode和交易 | PDO_CUBRID 同时支持autocommit_mode和事务,并且 默认情况下,autocommit_mode处于启用状态。您可以使用 PDO::setAttribute() 更改其状态。 如果您使用 PDO::beginTransaction() 开始 交易,它将自动禁用autocommit_mode并且 在 PDO::commit() 或 PDO::rollBack() 之后恢复它。请注意,在禁用 autocommit_mode,任何待处理的工作都会自动提交。 |
多个 SQL 语句 | PDO_CUBRID支持多个 SQL 语句。多个 SQL 语句之间用分号 (;) 分隔 |
架构信息 | PDO_CUBRID 实现一个函数 PDO::cubrid_schema() 来获取架构信息。 |
罗布斯 | PDO_CUBRID支持 BLOB/CLOB 数据类型。PDO 中的 LOB 是 表示为流,因此您可以通过绑定流来插入 LOB, 并通过读取 CUBRID PDO 返回的流来获取 LOB。例如: 示例 #1 在 CUBRID PDO 中插入 LOB <?php 示例 #2 Fetch LOBs in CUBRID PDO <?php |
列元 | CUBRID PDO 中的 PDOStatement::getColumnMeta() 将返回包含以下值的关联数组:
|
集合数据类型 | PDO_CUBRID支持 SET/MULTISET/SEQUENCE 数据类型。如果未指定数据类型, 默认数据类型为 char,例如: 示例 #3 在 CUBRID PDO 中插入默认数据类型的设置。 <?php 示例 #4 在 CUBRID PDO 中设置插入时指定数据类型 <?php
|
预定义常量
下列常量由此驱动定义,且仅在扩展编译入 PHP 或在运行时动态载入时可用。 另外,使用此驱动时,仅会使用这些驱动特定的常量。 使用其他驱动的驱动特定的常量可能会导致不可预见的情况。 如果代码可运行于多个驱动,PDO::getAttribute() 可被用于获取 PDO_ATTR_DRIVER_NAME 属性以检查驱动。
设置数据库属性时,可以使用以下常量。 它们可以传递给 PDO::getAttribute() 或 PDO::setAttribute()。
不断 | 描述 |
---|---|
PDO::CUBRID_ATTR_ISOLATION_LEVEL | 数据库连接的事务隔离级别。 |
PDO::CUBRID_ATTR_LOCK_TIMEOUT | 事务超时(以秒为单位)。 |
PDO::CUBRID_ATTR_MAX_STRING_LENGTH | 只读。bit、varbit、char、 的最大字符串长度 使用 CUBRID PDO 时的 varchar、nchar、nchar 数据类型各不相同 应用程序接口。 |
设置事务隔离时,可以使用以下常量 水平。它们可以传递给 PDO::getAttribute() 或 由 PDO::setAttribute() 返回。
不断 | 描述 |
---|---|
PDO::TRAN_COMMIT_CLASS_UNCOMMIT_INSTANCE | 最低隔离级别 (1)。肮脏的、不可重复的或 元组可能会发生幻像读取,并且可能会出现不可重复的读取 也发生在表中。 |
PDO::TRAN_COMMIT_CLASS_COMMIT_INSTANCE | 相对较低的隔离级别 (2)。肮脏的阅读不会 发生,但可能会发生不可重复或幻像读取。 |
PDO::TRAN_REP_CLASS_UNCOMMIT_INSTANCE | CUBRID (3) 的缺省隔离。肮脏的、不可重复的或 元组可能会发生幻像读取,但可确保可重复读取 对于表。 |
PDO::TRAN_REP_CLASS_COMMIT_INSTANCE | 相对较低的隔离级别 (4)。肮脏的阅读不会 发生,但不可重复或幻像读取可能。 |
PDO::TRAN_REP_CLASS_REP_INSTANCE | 相对较高的隔离级别 (5)。脏的或不可重复的 不会发生读取,但可能会发生幻像读取。 |
PDO::TRAN_SERIALIZABLE | 最高隔离级别 (6)。有关并发性的问题 (例如脏读、不可重复读、幻象读等)不要 发生。 |
获取架构信息时,可以使用以下常量。他们 可以传递给 PDO::cubrid_schema()。
不断 | 描述 |
---|---|
PDO::CUBRID_SCH_TABLE | 获取 CUBRID 中表的名称和类型。 |
PDO::CUBRID_SCH_VIEW | 在 CUBRID 中获取视图的名称和类型。 |
PDO::CUBRID_SCH_QUERY_SPEC | 获取视图的查询定义。 |
PDO::CUBRID_SCH_ATTRIBUTE | 获取表列的属性。 |
PDO::CUBRID_SCH_TABLE_ATTRIBUTE | 获取表的属性。 |
PDO::CUBRID_SCH_METHOD | 获取实例方法。实例方法是一种名为 由类实例。它比类方法更频繁地使用 因为大多数操作都是在实例中执行的。 |
PDO::CUBRID_SCH_TABLE_METHOD | 获取类方法。类方法是由 类对象。它通常用于创建新的类实例或 初始化它。它还用于访问或更新类 属性。 |
PDO::CUBRID_SCH_METHOD_FILE | 获取表的方法所在的文件的信息 定义。 |
PDO::CUBRID_SCH_SUPER_TABLE | 获取表继承属性的表的名称和类型 从。 |
PDO::CUBRID_SCH_SUB_TABLE | 获取从中继承属性的表的名称和类型 这张表。 |
PDO::CUBRID_SCH_CONSTRAINT | 获取表约束。 |
PDO::CUBRID_SCH_TRIGGER | 获取表触发器。 |
PDO::CUBRID_SCH_TABLE_PRIVILEGE | 获取表的权限信息。 |
PDO::CUBRID_SCH_COL_PRIVILEGE | 获取列的权限信息。 |
PDO::CUBRID_SCH_DIRECT_SUPER_TABLE | 获取表的直接超级表。 |
PDO::CUBRID_SCH_PRIMARY_KEY | 获取表主键。 |
PDO::CUBRID_SCH_IMPORTED_KEYS | 获取表的导入键。 |
PDO::CUBRID_SCH_EXPORTED_KEYS | 获取表的导出键。 |
PDO::CUBRID_SCH_CROSS_REFERENCE | 获取拖曳表的参考关系。 |
目录
- PDO_CUBRID DSN — 连接到 CUBRID 数据库
- PDO::cubrid_schema — 获取请求的架构信息