(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDO::setAttribute — 设置属性
设置数据库句柄属性。下面列出了一些可用的通用属性;有些驱动可能使用另外的特定属性。
     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:
     提取的时候将数值转换为字符串。
     Requires 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。