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 相关文章推荐
十天学会php(2)
Oct 09 PHP
snoopy 强大的PHP采集类使用实例代码
Dec 09 PHP
PHP循环结构实例讲解
Feb 10 PHP
php生成验证码函数
Oct 20 PHP
PHP模板引擎Smarty内置变量调解器用法详解
Apr 11 PHP
ThinkPHP中limit()使用方法详解
Apr 19 PHP
PHP生成图像验证码的方法小结(2种方法)
Jul 18 PHP
PHP入门教程之数学运算技巧总结
Sep 11 PHP
PHP实现动态添加XML中数据的方法
Mar 30 PHP
PHP微信H5支付开发实例
Jul 25 PHP
tp5递归 无限级分类详解
Oct 18 PHP
php传值和传引用的区别点总结
Nov 19 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
Fedora下安装php Redis扩展笔记
2014/09/03 PHP
php实现的简单日志写入函数
2015/03/31 PHP
php修改文件上传限制方法汇总
2015/04/07 PHP
thinkphp中的url跳转用法分析
2016/07/12 PHP
PHP代码加密的方法总结
2020/03/13 PHP
jquery中防刷IP流量软件影响统计的一点对策
2011/07/10 Javascript
jquery的ajax异步请求接收返回json数据实例
2014/06/16 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
2015/08/05 Javascript
Jquery对新插入的节点 绑定Click事件失效的解决方法
2016/06/02 Javascript
如何利用JSHint减少JavaScript的错误
2016/08/23 Javascript
微信小程序使用第三方库Underscore.js步骤详解
2016/09/27 Javascript
JS中判断null的方法分析
2016/11/21 Javascript
js手机号批量滚动抽奖实现代码
2020/04/17 Javascript
js中的触发事件对象event.srcElement与event.target详解
2017/03/15 Javascript
vue基于Vue2.0和高德地图的地图组件实例
2017/04/28 Javascript
日期时间范围选择插件:daterangepicker使用总结(必看篇)
2017/09/14 Javascript
js实现踩五彩块游戏
2020/02/08 Javascript
vue点击标签切换选中及互相排斥操作
2020/07/17 Javascript
vscode自定义vue模板的实现
2021/01/27 Vue.js
[59:30]完美世界DOTA2联赛PWL S3 access vs LBZS 第二场 12.20
2020/12/23 DOTA
Python实现的检测网站挂马程序
2014/11/30 Python
详解Python的Django框架中manage命令的使用与扩展
2016/04/11 Python
对python实时得到鼠标位置的示例讲解
2018/10/14 Python
在PYQT5中QscrollArea(滚动条)的使用方法
2019/06/14 Python
Python之关于类变量的两种赋值区别详解
2020/03/12 Python
pycharm实现print输出保存到txt文件
2020/06/01 Python
css3圆角样式分享自定义按钮样式
2013/12/27 HTML / CSS
台湾流行服饰购物平台:OB严选
2018/01/21 全球购物
荷兰街头时尚之家:Funkie House
2019/03/18 全球购物
巴西一家专门从事家居和装饰的连锁店:Camicado
2019/08/14 全球购物
Paradox London官方网站:英国新娘鞋婚礼鞋品牌
2019/08/29 全球购物
给市场的环保建议书
2014/05/14 职场文书
副主任竞聘演讲稿
2014/08/18 职场文书
教师党员学习十八届四中全会思想汇报
2014/11/03 职场文书
金融专业银行实习证明模板
2014/11/28 职场文书
2015年个人现实表现材料
2014/12/10 职场文书