插件窝 干货文章 PDO::setAttribute讲解

PDO::setAttribute讲解

PDO 预处理 strong 驱动 397    来源:    2024-10-18

PDO::setAttribute

PDO::setAttribute — 设置属性(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

说明

语法

bool PDO::setAttribute ( int $attribute , mixed $value )

设置数据库句柄属性。下面列出了一些可用的通用属性;有些驱动可能使用另外的特定属性。

_PDO::ATTRCASE :强制列名为指定的大小写。

  • _PDO::CASELOWER :强制列名小写。
  • _PDO::CASENATURAL :保留数据库驱动返回的列名。
  • _PDO::CASEUPPER :强制列名大写。

_PDO::ATTRERRMODE :错误报告。

  • _PDO::ERRMODESILENT : 仅设置错误代码。
  • _PDO::ERRMODEWARNING : 引发 _EWARNING 错误
  • _PDO::ERRMODEEXCEPTION : 抛出 exceptions 异常。

_PDO::ATTR_ORACLENULLS (在所有驱动中都可用,不仅限于Oracle): 转换 NULL 和空字符串。

  • _PDO::NULLNATURAL : 不转换。
  • _PDO::NULL_EMPTYSTRING : 将空字符串转换成 NULL 。
  • _PDO::NULL_TOSTRING : 将 NULL 转换成空字符串。

_PDO::ATTR_STRINGIFYFETCHES : 提取的时候将数值转换为字符串。 需要 bool 。

_PDO::ATTR_STATEMENTCLASS : 设置从PDOStatement派生的用户提供的语句类。 不能用于持久的PDO实例。 需要 array(string 类名, array(mixed 构造函数的参数)) 。

_PDO::ATTRTIMEOUT : 指定超时的秒数。并非所有驱动都支持此选项,这意味着驱动和驱动之间可能会有差异。比如,SQLite等待的时间达到此值后就放弃获取可写锁,但其他驱动可能会将此值解释为一个连接或读取超时的间隔。 需要 int 类型。

_PDO::ATTRAUTOCOMMIT (在OCI,Firebird 以及 MySQL中可用): 是否自动提交每个单独的语句。

_PDO::ATTR_EMULATEPREPARES 启用或禁用预处理语句的模拟。 有些驱动不支持或有限度地支持本地预处理。使用此设置强制PDO总是模拟预处理语句(如果为 TRUE ),或试着使用本地预处理语句(如果为 FALSE )。如果驱动不能成功预处理当前查询,它将总是回到模拟预处理语句上。 需要 bool 类型。

_PDO::MYSQL_ATTR_USE_BUFFEREDQUERY (在MySQL中可用): 使用缓冲查询。

_PDO::ATTR_DEFAULT_FETCHMODE : 设置默认的提取模式。关于模式的说明可以在 PDOStatement::fetch() 文档找到。

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对插件窝的支持。如果你想了解更多相关内容请查看下面相关链接