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: Some MySQL table types (storage engines) do not support transactions. When writing transactional database code using a table type that does not support transactions, MySQL will pretend that a transaction was initiated successfully. 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.

例 1244. 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