一小子攻城狮
想与博主以及众群友“发生关系”的请点击加【群243143941】;
  • 攻城狮
  • 身处网络
  • 随笔
12月32014

PHP PDO属性列表以及PDO方法分类

作者:老温   发布:2014-12-3 15:52 Wednesday   分类:攻城狮   阅读:181次   评论:0条  

    最近公司要改用PDO,够落后了吧;在网上扒来扒去找到本篇文章;总结了php中pdo扩展的常用方法,异常处理方法,属性列表,及基本使用示例,并注解了各方法属性的作用和功能,感兴趣的同学参考下。


PDO常用方法:
PDO::query()         主要用于有记录结果返回的操作,特别是select操作。
PDO::exec()        主要是针对没有结果集合返回的操作。如insert,update等操作。返回影响行数。
PDO::lastInsertId()        返回上次插入操作最后一条ID,但要注意:如果用insert into tb(col1,col2)values(v1,v2),(v11,v22)..的方式一次插入多条记录,lastinsertid()返回的只是第一条(v1,v2)插入时的ID,而不是最后一条记录插入的记录ID。    
PDOStatement::fetch()        是用来获取一条记录。配合while来遍历。
PDOStatement::fetchAll()        是获取所有记录集到一个中。
PDOStatement::fetchcolumn([intcolumn_indexnum])        用于直接访问列,参数column_indexnum是该列在行中的从0开始索引值,但是,这个方法一次只能取得同一行的一列,只要执行一次,就跳到下一行。因此,用于直接访问某一列时较好用,但要遍历多列就用不上。
PDOStatement::rowcount()        适用于当用query("select...")方法时,获取记录的条数。也可以用于预处理中。$stmt->rowcount();
PDOStatement::columncount()        适用于当用query("select...")方法时,获取记录的列数。


注解:

1、选fetch还是fetchall?
    小记录集时,用fetchall效率高,减少从数据库检索次数,但对于大结果集,用fetchall则给系统带来很大负担。数据库要向WEB前端传输量太大反而效率低。
2、fetch()或fetchall()有几个参数:
    mixed pdostatement::fetch([int fetch_style[,int cursor_orientation [,int cursor_offset]]])

    array pdostatement::fetchAll(int fetch_style)


更多的PDO方法:
PDO::beginTransaction — 启动一个事务    
PDO::commit — 提交一个事务    
PDO::__construct — 创建一个表示数据库连接的 PDO 实例    
PDO::errorCode — 获取跟数据库句柄上一次操作相关的 SQLSTATE    
PDO::errorInfo — Fetch extended error information associated with the last operation on the database handle    
PDO::exec — 执行一条 SQL 语句,并返回受影响的行数    
PDO::getAttribute — 取回一个数据库连接的属性    
PDO::getAvailableDrivers — 返回一个可用驱动的数组    
PDO::inTransaction — 检查是否在一个事务内    
PDO::lastInsertId — 返回最后插入行的ID或序列值    
PDO::prepare — Prepares a statement for execution and returns a statement object    
PDO::query — Executes an SQL statement, returning a result set as a PDOStatement object    
PDO::quote — Quotes a string for use in a query.    
PDO::rollBack — 回滚一个事务    
PDO::setAttribute — 设置属性
PDO异常相关
Exception::getMessage — 获取异常消息内容。    
Exception::getPrevious — 返回异常链中的前一个异常    
Exception::getCode — 获取异常代码    
Exception::getFile — 获取发生异常的程序文件名称    
Exception::getLine — 获取发生异常的代码在文件中的行号    
Exception::getTrace — 获取异常追踪信息    
Exception::getTraceAsString — 获取字符串类型的异常追踪信息    
Exception::toString — 将异常对象转换为字符串    

Exception::clone — 异常克隆


PDO属性列表:
PDO::PARAM_BOOL  
表示一个布尔类型  
PDO::PARAM_NULL  
表示一个SQL中的NULL类型  
PDO::PARAM_INT  
表示一个SQL中的INTEGER类型  
PDO::PARAM_STR  
表示一个SQL中的SQL CHAR,VARCHAR类型  
PDO::PARAM_LOB  
表示一个SQL中的large object类型  
PDO::PARAM_STMT  
表示一个SQL中的recordset类型,还没有被支持  
PDO::PARAM_INPUT_OUTPUT  
Specifies that the parameter is an INOUT parameter for a stored procedure. You must bitwise-OR this value with an explicit PDO::PARAM_* data type.  
PDO::FETCH_LAZY  
将每一行结果作为一个对象返回  
PDO::FETCH_ASSOC  
仅仅返回以键值作为下标的查询的结果集,名称相同的数据只返回一个  
PDO::FETCH_NAMED  
仅仅返回以键值作为下标的查询的结果集,名称相同的数据以数组形式返回  
PDO::FETCH_NUM  
仅仅返回以数字作为下标的查询的结果集  
PDO::FETCH_BOTH  
同时返回以键值和数字作为下标的查询的结果集  
PDO::FETCH_OBJ  
以对象的形式返回结果集  
PDO::FETCH_BOUND  
将PDOStatement::bindParam()和PDOStatement::bindColumn()所绑定的值作为变量名赋值后返回  
PDO::FETCH_COLUMN  
表示仅仅返回结果集中的某一列  
PDO::FETCH_CLASS  
表示以类的形式返回结果集  
PDO::FETCH_INTO  
表示将数据合并入一个存在的类中进行返回  
PDO::FETCH_FUNC  
PDO::FETCH_GROUP  
PDO::FETCH_UNIQUE  
PDO::FETCH_KEY_PAIR  
以首个键值下表,后面数字下表的形式返回结果集  
PDO::FETCH_CLASSTYPE  
PDO::FETCH_SERIALIZE  
表示将数据合并入一个存在的类中并序列化返回  
PDO::FETCH_PROPS_LATE  
Available since PHP 5.2.0  
PDO::ATTR_AUTOCOMMIT  
在设置成true的时候,PDO会自动尝试停止接受委托,开始执行  
PDO::ATTR_PREFETCH  
设置应用程序提前获取的数据大小,并非所有的数据库哦度支持
PDO::ATTR_TIMEOUT  
设置连接数据库超时的值  
PDO::ATTR_ERRMODE  
设置Error处理的模式  
PDO::ATTR_SERVER_VERSION  
只读属性,表示PDO连接的服务器端数据库版本  
PDO::ATTR_CLIENT_VERSION  
只读属性,表示PDO连接的客户端PDO驱动版本  
PDO::ATTR_SERVER_INFO  
只读属性,表示PDO连接的服务器的meta信息  
PDO::ATTR_CONNECTION_STATUS  
PDO::ATTR_CASE  
通过PDO::CASE_*中的内容对列的形式进行操作  
PDO::ATTR_CURSOR_NAME  
获取或者设定指针的名称  
PDO::ATTR_CURSOR  
设置指针的类型,PDO现在支持PDO::CURSOR_FWDONLY和PDO::CURSOR_FWDONLY  
PDO::ATTR_DRIVER_NAME  
返回使用的PDO驱动的名称  
PDO::ATTR_ORACLE_NULLS  
将返回的空字符串转换为SQL的NULL  
PDO::ATTR_PERSISTENT  
获取一个存在的连接  
PDO::ATTR_STATEMENT_CLASS  
PDO::ATTR_FETCH_CATALOG_NAMES  
在返回的结果集中,使用自定义目录名称来代替字段名。  
PDO::ATTR_FETCH_TABLE_NAMES  
在返回的结果集中,使用自定义表格名称来代替字段名。  
PDO::ATTR_STRINGIFY_FETCHES  
PDO::ATTR_MAX_COLUMN_LEN  
PDO::ATTR_DEFAULT_FETCH_MODE  
Available since PHP 5.2.0  
PDO::ATTR_EMULATE_PREPARES  
Available since PHP 5.1.3.  
PDO::ERRMODE_SILENT  
发生错误时不汇报任何的错误信息,是默认值  
PDO::ERRMODE_WARNING  
发生错误时发出一条php的E_WARNING的信息  
PDO::ERRMODE_EXCEPTION  
发生错误时抛出一个PDOException  
PDO::CASE_NATURAL  
回复列的默认显示格式  
PDO::CASE_LOWER  
强制列的名字小写  
PDO::CASE_UPPER  
强制列的名字大写  
PDO::NULL_NATURAL  
PDO::NULL_EMPTY_STRING  
PDO::NULL_TO_STRING  
PDO::FETCH_ORI_NEXT  
获取结果集中的下一行数据,仅在有指针功能时有效  
PDO::FETCH_ORI_PRIOR  
获取结果集中的上一行数据,仅在有指针功能时有效  
PDO::FETCH_ORI_FIRST  
获取结果集中的第一行数据,仅在有指针功能时有效  
PDO::FETCH_ORI_LAST  
获取结果集中的最后一行数据,仅在有指针功能时有效  
PDO::FETCH_ORI_ABS  
获取结果集中的某一行数据,仅在有指针功能时有效  
PDO::FETCH_ORI_REL  
获取结果集中当前行后某行的数据,仅在有指针功能时有效  
PDO::CURSOR_FWDONLY  
建立一个只能向后的指针操作对象  
PDO::CURSOR_SCROLL  
建立一个指针操作对象,传递PDO::FETCH_ORI_*中的内容来控制结果集  
PDO::ERR_NONE (string)  
设定没有错误时候的错误信息 


本文固定链接: http://php.oneboys.cn/post-2.html

blogger
该日志由 老温 于2014-12-3 15:52 Wednesday发表在 攻城狮 分类下。
版权所有:《一小子攻城狮》 → 《PHP PDO属性列表以及PDO方法分类》;
除特别标注,本博客所有文章均为原创. 互联分享,尊重版权,转载请以链接形式标明本文地址;
本文标签: PDO方法 PDO属性
上一篇::重装mysql提示密码错误解决办法
下一篇:没错,这就是小站第一篇文章

热门文章

相关文章

  • curl下载文件
  • js跳转定位到锚点位置
  • CSS自动折行换行全兼容
  • 模拟GET或者POST请求测试CDN等
  • emlog之nginx伪静态重写规则
取消回复

发表评论

亲,头像对么?

提交中,请稍候……



    最新文章热门文章随机文章

    • php邀请背景图合成二维码
    • 列表点击编辑
    • css 宽度不固定 正方形盒子
    • 终端生成证书 公私钥
    • apache环境接收自定义header
    • PHP curl 模块获取header和body完整信息
    • php导出excel,不用php Excel类
    • Mysql 导入错误1064 USING BTREE错误
    • PHP PDO属性列表以及PDO方法分类
    • mysql1153错误,max_allowed_packet
    • 重装mysql提示密码错误解决办法
    • PHP PDO实践测试问题规整
    • linux之screen的使用及常用方法
    • php导出excel,不用php Excel类
    • php命令行传参数
  • 标签

      PDO方法 PDO属性 MYSQL MYSQL重装 linux学习 linux命令screen php命令行 phpExcel max_allowed_packet Jquery php命名空间 MYSQL错误 php获取header信息 getallheaders php弱类型 php运算符优先级 自媒体运营 svn svn命令 解除svn控制 PHP 客户端IP sql随机取出数据 SQL语句limit qq群排名 QQ群排名技术 刷QQ群活跃度 .htaccess rar安装 301重定向 mysql_ping api错误码设计 PDO PDO连接状态 营销中的驱动媒介 curl获取header信息 CURL HTML+CSS checkbox的change事件 DOM加载 图片加载 微信公众账号 微信公众账号加粉 解除svn版本控制 html5 html5上传 html5进度条上传 高并发 队列 高并发超载 html5预览 MEMCACHE 一致性哈希算法 WDCP zendStudio php内置函数不能自动提示 insertinto selectinto 经典SQL语句大全 sql学习 Javascript 日期函数 获取月份天数 linux find命令 锚点 HTML 正则表达式 CSS自动折行 CSS自动换行 SQL CDN测试 哈夫曼 SQL删除重复并保留一条 curl下载 修改mysql root密码 php删除文件夹 php遍历文件夹 JS js时间戳 iframe跨域 js+iframe跨域传递参数 长连接 mysql长连接apache mysql长连接fastcgi base64编码加密 SSDB ssdb遍历集合 ssdb集合 emlog nginx伪静态 Fireworks 文字水印 前端 echarts echarts全国地图 html+css隐藏滚动条 魔方图片 魔方相册 html+css魔方相册 php错误日志 PhpSpreadsheet PhpSpreadsheet导入 PhpSpreadsheet导出 PhpSpreadsheet设置单元格属性 js函数抖动 中文分词 中文切词 php公众号 网易云音乐播放器 网易云音乐歌单播放器 解析header 解析cookie CSS
  • 存档

    • 2021年2月(2)
    • 2021年1月(3)
    • 2020年11月(11)
    • 2020年10月(3)
    • 2020年8月(1)
    • 2020年2月(9)
    • 2020年1月(2)
    • 2019年12月(3)
    • 2016年11月(1)
    • 2016年5月(1)
    • 2016年2月(1)
    • 2015年10月(2)
    • 2015年9月(2)
    • 2015年7月(9)
    • 2015年6月(5)
    • 2015年5月(1)
    • 2015年4月(4)
    • 2015年3月(13)
    • 2015年2月(3)
    • 2015年1月(8)
    • 2014年12月(10)
© 2010 - 2014 老温PHP 版权所有