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基础陷阱题(变量赋值)
Sep 12 PHP
PHP 常用数组内部函数(Array Functions)介绍
Jun 05 PHP
PHP函数实现分页含文本分页和数字分页
Oct 23 PHP
帝国CMS留言板回复后发送EMAIL通知客户
Jul 06 PHP
CI(CodeIgniter)模型用法实例分析
Jan 20 PHP
PHP连接MYSQL数据库实例代码
Jan 20 PHP
浅谈PHP的exec()函数无返回值排查方法(必看)
Mar 31 PHP
php自定义函数实现统计中文字符串长度的方法小结
Apr 15 PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
Sep 29 PHP
PHP支付宝当面付2.0代码
Dec 21 PHP
关于laravel后台模板laravel-admin select框的使用详解
Oct 03 PHP
JS中彻底删除JSON对象组成的数组中的元素
Sep 22 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
php版本的cron定时任务执行器使用实例
2014/08/19 PHP
php防止网站被刷新的方法汇总
2014/12/01 PHP
php查询mysql数据库并将结果保存到数组的方法
2015/03/18 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
2018/06/20 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
2020/01/25 PHP
extJs 下拉框联动实现代码
2010/04/09 Javascript
用javascript模仿ie的自动完成类似自动完成功的表单
2012/12/12 Javascript
js实现图片轮换效果代码
2013/04/16 Javascript
jQuery获取注册信息并提示实现代码
2013/04/21 Javascript
Jquery实现视频播放页面的关灯开灯效果
2013/05/27 Javascript
用JavaScript实现一个代码简洁、逻辑不复杂的多级树
2014/05/23 Javascript
jQuery中$.click()无效问题分析
2015/01/29 Javascript
javascript实现数独解法
2015/03/14 Javascript
jQuery实现带有洗牌效果的动画分页实例
2015/08/31 Javascript
javascript内存分配原理实例分析
2017/04/10 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
2017/06/05 Javascript
关于vue的npm run dev和npm run build的区别介绍
2019/01/14 Javascript
如何在项目中使用log4.js的方法步骤
2019/07/16 Javascript
Python实现豆瓣图片下载的方法
2015/05/25 Python
Python for Informatics 第11章 正则表达式(一)
2016/04/21 Python
Python实现中一次读取多个值的方法
2018/04/22 Python
Python合并同一个文件夹下所有PDF文件的方法
2019/03/11 Python
Python中dict和set的用法讲解
2019/03/28 Python
django实现类似触发器的功能
2019/11/15 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
2020/01/06 Python
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
2020/04/19 Python
超级搞笑检讨书
2014/01/15 职场文书
省级四好少年事迹材料
2014/01/25 职场文书
团代会主持词
2014/04/02 职场文书
汉语言文学专业求职信
2014/06/19 职场文书
团代会邀请函
2015/02/02 职场文书
2015年感恩节演讲稿(优选篇)
2015/03/20 职场文书
毕业设计致谢语
2015/05/14 职场文书
运动会加油稿30字
2015/07/21 职场文书
MySQL数据库中varchar类型的数字比较大小的方法
2021/11/17 MySQL
springboot读取resources下文件的方式详解
2022/06/21 Java/Android