PHP使用PDO抽象层获取查询结果的方法示例


Posted in PHP onMay 10, 2018

本文实例讲述了PHP使用PDO抽象层获取查询结果的方法。分享给大家供大家参考,具体如下:

PHP使用PDO抽象层获取查询结果,主要有三种方式:

(1)PDO::query()查询。

看下面这段php代码:

<?php
//PDO::query()查询
$psql="SELECT * FROM user";
$res = $db->query($psql);
$res->setFetchMode(PDO::FETCH_NUM); //数字索引方式
while ($row = $res->fetch()){
print_r($row);
}
?>

(2)PDO->exec()处理sql

<?php
//PDO->exec()处理sql
$psql="INSERT INTO user(id , username) values('' , '张三')";
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$res = $db->exec($psql);
echo $res;
?>

(3)PDO::prepare()预处理执行查询

<?php
//PDO::prepare()预处理执行查询
$psql="SELECT * FROM user";
$res = $db->prepare($psql);
$res->execute();
while ($row = $res->fetchAll()) {
print_r($row);
}
?>

setAttribute() 方法是设置属性,常用参数如下:

PDO::CASE_LOWER -- 强制列名是小写
PDO::CASE_NATURAL -- 列名按照原始的方式
PDO::CASE_UPPER -- 强制列名为大写

setFetchMode方法来设置获取结果集的返回值的类型,常用参数如下:

PDO::FETCH_ASSOC -- 关联数组形式
PDO::FETCH_NUM -- 数字索引数组形式
PDO::FETCH_BOTH -- 两者数组形式都有,这是默认的
PDO::FETCH_OBJ -- 按照对象的形式,类似于以前的 mysql_fetch_object()

对上面总结如下:

查询操作主要是PDO::query()PDO::exec()PDO::prepare()

PDO->query() — 处理一条SQL语句,并返回一个“PDOStatement”
PDO->exec() — 处理一条SQL语句,并返回所影响的条目数

PDO::prepare()主要是预处理操作,需要通过$rs->execute()来执行预处理里面的SQL语句

最后介绍两个常用的函数:

(1)fetchColumn()获取指定记录里一个字段结果,默认是第一个字段!

<?php
$psql="SELECT * FROM user";
$res = $db->query($psql);
//获取指定记录里第二个字段结果
$col = $res->fetchColumn(1);
echo $col;
?>

(2)fetchAll()从一个结果集中获取数据,然后存放在关联数组中

<?php
$psql="SELECT * FROM user";
$res = $db->query($psql);
$res_arr =$res->fetchAll();
print_r($res_arr);
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
Windows PHP5和Apache的安装与配置
Jun 08 PHP
PHP 获取远程文件内容的函数代码
Mar 24 PHP
TMDPHP 模板引擎使用教程
Mar 13 PHP
批量去除PHP文件中bom的PHP代码
Mar 13 PHP
PHP数据类型的总结分析
Jun 13 PHP
解析php框架codeigniter中如何使用框架的session
Jun 24 PHP
PHP设置一边执行一边输出结果的代码
Sep 30 PHP
PHP生成随机密码类分享
Jun 25 PHP
typecho插件编写教程(六):调用接口
May 28 PHP
php验证码生成代码
Nov 11 PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
May 05 PHP
PHP扩展安装方法步骤解析
Nov 24 PHP
PHP分页显示的方法分析【附PHP通用分页类】
May 10 #PHP
ThinkPHP防止重复提交表单的方法实例分析
May 10 #PHP
PHP实现用户登录的案例代码
May 10 #PHP
yii2多图上传组件的使用教程
May 10 #PHP
PHP数组去重的更快实现方式分析
May 09 #PHP
PHP+MySQL实现消息队列的方法分析
May 09 #PHP
PHP共享内存使用与信号控制实例分析
May 09 #PHP
You might like
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
2014/05/08 PHP
php实现的click captcha点击验证码类实例
2014/09/23 PHP
基于CakePHP实现的简单博客系统实例
2015/06/28 PHP
Extjs Ajax 乱码问题解决方案
2009/04/15 Javascript
JS 控制CSS样式表
2009/08/20 Javascript
asp.net+js 实现无刷新上传解析csv文件的代码
2010/05/17 Javascript
js和jquery批量绑定事件传参数一(新猪猪原创)
2010/06/23 Javascript
基于jquery的关于动态创建DOM元素的问题
2010/12/24 Javascript
关于递归运算的顺序测试代码
2011/11/30 Javascript
Javascript无阻塞加载具体方式
2013/06/28 Javascript
jQuery预加载图片常用方法
2015/06/15 Javascript
JAVA四种基本排序方法实例总结
2015/07/24 Javascript
基于JavaScript实现百叶窗动画效果不只单纯flas可以实现
2016/02/29 Javascript
js与applet相互调用的方法
2016/06/22 Javascript
jquery选择器中的空格与大于号&gt;、加号+与波浪号~的区别介绍
2016/06/24 Javascript
Node.js pipe实现源码解析
2017/08/12 Javascript
AngularJS 控制器 controller的详解
2017/10/17 Javascript
js判断传入时间和当前时间大小实例(超简单)
2018/01/11 Javascript
ES6的异步终极解决方案分享
2019/07/11 Javascript
通过实例了解JS 连续赋值
2019/09/24 Javascript
新手入门js闭包学习过程解析
2019/10/08 Javascript
JavaScript对象属性操作实例解析
2020/02/04 Javascript
[01:51]历届DOTA2国际邀请赛举办地回顾 TI9落地上海
2018/08/26 DOTA
python 爬取微信文章
2016/01/30 Python
Python数据类型详解(四)字典:dict
2016/05/12 Python
彻彻底底地理解Python中的编码问题
2018/10/15 Python
在python中利用GDAL对tif文件进行读写的方法
2018/11/29 Python
Pyinstaller 打包发布经验总结
2020/06/02 Python
Pytorch上下采样函数--interpolate用法
2020/07/07 Python
工作自我评价怎么写
2014/01/29 职场文书
财务简历的自我评价
2014/03/05 职场文书
五四青年节优秀演讲稿范文
2014/05/28 职场文书
学校通报表扬范文
2015/05/04 职场文书
身份证丢失证明
2015/06/19 职场文书
Spring Security使用单点登录的权限功能
2022/04/03 Java/Android
关于的python五子棋的算法
2022/05/02 Python