PHP PDO::setAttribute() 方法
PHP PDO::setAttribute() 设置属性
(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
函数原型
bool PDO::setAttribute ( int $attribute , mixed $value )
设置数据库句柄属性
下面列出了一些可用的通用属性
有些驱动可能使用另外的特定属性
属性 | 描述 |
---|---|
PDO::ATTR_CASE | 强制列名为指定的大小写 |
PDO::CASE_LOWER | 强制列名小写 |
PDO::CASE_NATURAL | 保留数据库驱动返回的列名 |
PDO::CASE_UPPER | 强制列名大写 |
PDO::ATTR_ERRMODE | 错误报告 |
PDO::ERRMODE_SILENT | 仅设置错误代码 |
PDO::ERRMODE_WARNING | 引发 E_WARNING 错误 |
PDO::ERRMODE_EXCEPTION | 抛出 exceptions 异常。 |
PDO::ATTR_ORACLE_NULLS | 在所有驱动中都可用,不仅限于Oracle,转换 NULL 和空字符串 |
PDO::NULL_NATURAL | 不转换。 |
PDO::NULL_EMPTY_STRING | 将空字符串转换成 NULL |
PDO::NULL_TO_STRING** | 将 NULL 转换成空字符串。 |
PDO::ATTR_STRINGIFY_FETCHES | 提取的时候将数值转换为字符串。需要 bool |
PDO::ATTR_STATEMENT_CLASS | 设置从PDOStatement派生的用户提供的语句类。不能用于持久的PDO实例。需要 **array(string 类名, array(mixed 构造函数的参数)) |
PDO::ATTR_TIMEOUT | 指定超时的秒数。并非所有驱动都支持此选项,这意味着驱动和驱动之间可能会有差异。比如,SQLite等待的时间达到此值后就放弃获取可写锁,但其他驱动可能会将此值解释为一个连接或读取超时的间隔,需要 int 类型 |
PDO::ATTR_AUTOCOMMIT | 在OCI,Firebird 以及 MySQL中可用):是否自动提交每个单独的语句 |
PDO::ATTR_EMULATE_PREPARES | 启用或禁用预处理语句的模拟。 有些驱动不支持或有限度地支持本地预处理。使用此设置强制PDO总是模拟预处理语句(如果为 TRUE ),或试着使用本地预处理语句(如果为 FALSE )。如果驱动不能成功预处理当前查询,它将总是回到模拟预处理语句上。需要 bool 类型。 |
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY | 在 MySQL 中可用, 使用缓冲查询 |
PDO::ATTR_DEFAULT_FETCH_MODE | 设置默认的提取模式。关于模式的说明可以在 PDOStatement::fetch() 文档找到 |
返回值
成功时返回 TRUE, 或者在失败时返回 FALSE