PDO_CUBRID is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to CUBRID databases.
Note:
Current version of PDO_CUBRID doesn't support persistent connection now.
To build the PDO_CUBRID extension, the CUBRID DBMS must be installed on the same system as PHP. PDO_CUBRID is a » PECL extension, so follow the instructions in Installation of PECL extensions to install the PDO_CUBRID extension. Issue the configure command to point to the location of your CUBRID base dir as follows:
$ ./configure --with-pdo-cubrid=/path/to/CUBRID[,shared]
A DLL for this PECL extension is currently unavailable. See also the building on Windows section. Detailed information about installation on Linux and Windows manually, please read build-guide.html in PECL package CUBRID for reference.
Feature | Description |
---|---|
Scrollable cursors | PDO_CUBRID supports scrollable cursors. The default cursor type is forward only, and you can use parameter driver_options in PDO::prepare() to change cursor type. |
Timeout | PDO_CUBRID supports sql statement execution timeout setting; You can use PDO::setAttribute() to set timeout value. |
Autocommit_mode and Transaction |
PDO_CUBRID supports both autocommit_mode and transaction, and
autocommit_mode is enable by default. You can use
PDO::setAttribute() to change its state.
If you use PDO::beginTransaction to begin a transaction, it will disable autocommit_mode and restore it after PDO::commit or PDO::rollBack. Note that before disabling the autocommit_mode, any pending work is automatically committed. |
Multiple Query | PDO_CUBRID supports multiple query. |
Schema Information | PDO_CUBRID doesn't implement PDOStatement->getColumnMeta. Instead, PDO_CUBRID implements a function PDO::cubrid_schema() to get schema information. |
LOBs | PDO_CUBRID supports BLOB/CLOB data type. The LOB in PDO is
represented as a stream, so you can insert LOBs by binding a stream,
and get LOBs by reading a stream returned by CUBRID PDO. For example:
Example #2 Insert LOBs in CUBRID PDO
<?php
Example #3 Fetch LOBs in CUBRID PDO
<?php |
The constants below are defined by this driver, and will only be available when the extension has been either compiled into PHP or dynamically loaded at runtime. In addition, these driver-specific constants should only be used if you are using this driver. Using driver-specific attributes with another driver may result in unexpected behaviour. PDO::getAttribute() may be used to obtain the PDO_ATTR_DRIVER_NAME attribute to check the driver, if your code can run against multiple drivers.
The following constants can be used when getting schema information. They can be passed to PDO::cubrid_schema().
Constant | Description |
---|---|
PDO::CUBRID_SCH_TABLE | Get name and type of table in CUBRID. |
PDO::CUBRID_SCH_VIEW | Get name and type of view in CUBRID. |
PDO::CUBRID_SCH_QUERY_SPEC | Get the query definition of view. |
PDO::CUBRID_SCH_ATTRIBUTE | Get the attributes of table column. |
PDO::CUBRID_SCH_TABLE_ATTRIBUTE | Get the attributes of table. |
PDO::CUBRID_SCH_METHOD | Get the instance method. The instance method is a method called by a class instance. It is used more often than the class method because most operations are executed in the instance. |
PDO::CUBRID_SCH_TABLE_METHOD | Get the class method. The class method is a method called by a class object. It is usually used to create a new class instance or to initialize it. It is also used to access or update class attributes. |
PDO::CUBRID_SCH_METHOD_FILE | Get the information of the file where the method of the table is defined. |
PDO::CUBRID_SCH_SUPER_TABLE | Get the name and type of table which table inherites attributes from. |
PDO::CUBRID_SCH_SUB_TABLE | Get the name and type of table which inherites attributes from this table. |
PDO::CUBRID_SCH_CONSTRAINT | Get the table constraints. |
PDO::CUBRID_SCH_TRIGGER | Get the table triggers. |
PDO::CUBRID_SCH_TABLE_PRIVILEGE | Get the privilege information of table. |
PDO::CUBRID_SCH_COL_PRIVILEGE | Get the privilege information of column. |
PDO::CUBRID_SCH_DIRECT_SUPER_TABLE | Get the direct super table of table. |
PDO::CUBRID_SCH_PRIMARY_KEY | Get the table primary key. |
PDO::CUBRID_SCH_IMPORTED_KEYS | Get imported keys of table. |
PDO::CUBRID_SCH_EXPORTED_KEYS | Get exported keys of table. |
PDO::CUBRID_SCH_CROSS_REFERENCE | Get reference relationship of tow tables. |