php PDO属性设置与操作方法分析
本文实例讲述了php PDO属性设置与操作方法。分享给大家供大家参考,具体如下
设置PDO在处理数据的过程中采用什么方式去处理
PDO::setAttribute
设置属性
PDO::getAttribute
获取属性
语法
bool PDO::setAttribute ( int $attribute , mixed $value )
设置数据库句柄属性。狼蚁网站SEO优化列出了一些可用的通用属性;有些驱动可能使用的特定属性。
参数
$attribute
PDO::ATTR_CASE强制列名为指定的大小写。他的$value可为
- PDO::CASE_LOWER强制列名小写。
- PDO::CASE_NATURAL保留数据库驱动返回的列名。
- PDO::CASE_UPPER强制列名大写。
PDO::ATTR_ERRMODE错误报告。他的$value可为
- PDO::ERRMODE_SILENT 仅设置错误代码。
- PDO::ERRMODE_WARNING: 引发 E_WARNING 错误
- PDO::ERRMODE_EXCEPTION: 抛出 exceptions 异常。
PDO::ATTR_ORACLE_NULLS (在所有驱动中都可用,不仅限于Oracle) 转换 NULL 和空字符串。他的$value可为
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() 文档找到。
常用属性
PDO::ATTR_AUTOCOMMIT设置当前连接Mysql服务器的客户端的SQL语句是否自动执行,默认是自动提交
//自动提交属性 var_dump($pdo->getAttribute(PDO::ATTR_AUTOCOMMIT)); //1 $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,0); var_dump($pdo->getAttribute(PDO::ATTR_AUTOCOMMIT)); //0
PDO::ATTR_CASE当pdo从结果集中获取数据的时候,如何处理对应的字段的名字
- PDO::CASE_LOWER将所有字段都小写显示
- PDO::CASE_UPPER所有字段都大写显示
- PDO::CASE_NATURAL原本怎么样就怎么样
$pdo->setAttribute(PDO::ATTR_CASE,PDO::CASE_NATURAL); //或 $pdo->setAttribute(PDO::ATTR_CASE,1); var_dump(PDO::CASE_UPPER); //1 转换为大写 var_dump(PDO::CASE_LOWER); //2 转换为小写 var_dump(PDO::CASE_NATURAL); //0 是怎样就是怎样 $sql = "select from user "; $stmt = $pdo->query($sql); var_dump($stmt->fetch(PDO::FETCH_ASSOC));
PDO::ATTR_ERRMODE错误模式,当pdo出现错误的时候到底使用哪种模式进行处理
- PDO::ERRMODE_SILENT静默模式,默认的出错了不管
- PDO::ERRMODE_WARNING警告模式,如果出错了就会报出警告
- PDO::ERRMODE_EXCEPTION异常模式,如果出错会采用异常来处理(PDOException)
var_dump($pdo->getAttribute(PDO::ATTR_ERRMODE)); var_dump(PDO::ERRMODE_SILENT); //0 静默模式,默认的出错了不管 var_dump(PDO::ERRMODE_WARNING); //1 警告模式,如果出错了就会报出警告 var_dump(PDO::ERRMODE_EXCEPTION); //2 异常模式,如果出错会采用异常来处理(PDOException)
PDO::ATTR_PERSISTENT当前对Mysql服务器的连接是否是长连接
- TRUE是长连接(长连接的使用必须要配合Apache(connectionkeepAlive),Mysqld)
- FALSE默认的,非长连接
什么情况下使用长连接?
不同的脚本的执行间距非常短,每个脚本都要操作数据库(Mysqlmysql_pconnect())
更多关于PHP相关内容感兴趣的读者可查看本站专题《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家PHP程序设计有所帮助。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程