LXXXVIII. MySQL Functions (PDO_MYSQL)

簡介

PDO_MYSQL is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to MySQL 3.x and 4.x databases.

PDO_MYSQL will take advantage of native prepared statement support present in MySQL 4.1 and higher. If you're using an older version of the mysql client libraries, PDO will emulate them for you.

警示

Beware: MySQL tables do not support transactions by default. When writing transactional database code, MySQL will pretend that a transaction was initiated successfully, even when no transactional support is present. In addition, any DDL queries issued will implicitly commit any pending transactions.

預定義常量

以下常量由本驅動程式所定義,並且僅在該增加庫被編譯入 PHP 或在運行時動態加載時可用。此外,這些驅動程式特定的常量應僅在使用此驅動程式時被使用。在 Postgres 驅動下使用 MySQL 特定的屬性可能會導致不可預期的行為。在代碼可以運行於多個驅動程式下時,可以用 PDO::getAttribute() 來取得 PDO_ATTR_DRIVER_NAME 屬性以檢查驅動程式。

PDO_MYSQL_ATTR_USE_BUFFERED_QUERY (integer)

If this attribute is set to TRUE on a PDOStatement, the MySQL driver will use the buffered versions of the MySQL API. If you're writing portable code, you should use PDOStatement::fetchAll() instead.

例子 1. Forcing queries to be buffered in mysql

<?php
if ($db->getAttribute(PDO_ATTR_DRIVERNAME) == 'mysql')) {
 
$stmt $db->prepare('select * from foo',
    array(
PDO_MYSQL_ATTR_USE_UNBUFFERED_QUERY => true));
} else {
 die(
"my application only works with mysql; I should use \$stmt->fetchAll() instead");
}

目錄
PDO_MYSQL DSN -- Connecting to MySQL databases