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 相关文章推荐
Breeze 文章管理系统 v1.0.0正式发布
Dec 14 PHP
简单的过滤字符串中的HTML标记
Dec 25 PHP
AJAX for PHP简单表数据查询实例
Jan 02 PHP
用PHP实现Ftp用户的在线管理的代码
Mar 06 PHP
php数组函数序列之array_push() 数组尾部添加一个或多个元素(入栈),返回新长度。
Nov 07 PHP
php function用法如何递归及return和echo区别
Mar 07 PHP
PHP父类调用子类方法的代码例子
Apr 09 PHP
php验证session无效的解决方法
Nov 04 PHP
PHP将字符分解为多个字符串的方法
Nov 22 PHP
php将html转成wml的WAP标记语言实例
Jul 08 PHP
基于php中echo用逗号和用点号的区别详解
Jan 23 PHP
Yii框架响应组件用法实例分析
Sep 04 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查找字符串出现次数的方法
2014/12/01 PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
2015/12/19 PHP
PHP实现文件上传下载实例
2016/10/18 PHP
php实现微信企业转账功能
2018/10/02 PHP
(function(){})()的用法与优点
2007/03/11 Javascript
用javascript实现的仿Flash广告图片轮换效果
2007/04/24 Javascript
用javascript实现的支持lrc歌词的播放器
2007/05/17 Javascript
Auntion-TableSort国人写的一个javascript表格排序的东西
2007/11/12 Javascript
重载toString实现JS HashMap分析
2011/03/13 Javascript
Javascript 实现的数独解题算法网页实例
2013/10/15 Javascript
JavaScript实现继承的4种方法总结
2014/10/16 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
轻松搞定js表单验证
2016/10/13 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
2016/11/07 Javascript
Bootstrap Table使用整理(一)
2017/06/09 Javascript
总结js函数相关知识点
2018/02/27 Javascript
Javascript获取某个月的天数
2018/05/30 Javascript
React Native基础入门之初步使用Flexbox布局
2018/07/02 Javascript
详解vuejs2.0 select 动态绑定下拉框支持多选
2019/04/25 Javascript
弱类型语言javascript中 a,b 的运算实例小结
2019/08/07 Javascript
vue 实现模糊检索并根据其他字符的首字母顺序排列
2019/09/19 Javascript
vue.js路由mode配置之去掉url上默认的#方法
2019/11/01 Javascript
vue学习笔记之Vue中css动画原理简单示例
2020/02/29 Javascript
JS实现拖动模糊框特效
2020/08/25 Javascript
Vue双向数据绑定(MVVM)的原理
2020/10/03 Javascript
[01:18]DOTA2超级联赛专访hanci ForLove淘汰感言曝光
2013/06/04 DOTA
python使用PyGame绘制图像并保存为图片文件的方法
2015/04/24 Python
处理Python中的URLError异常的方法
2015/04/30 Python
基于Python socket的端口扫描程序实例代码
2018/02/09 Python
Python中的支持向量机SVM的使用(附实例代码)
2019/06/26 Python
详解Python list和numpy array的存储和读取方法
2019/11/06 Python
Lookfantastic日本官网:英国知名护肤、化妆品和头发护理购物网站
2018/04/21 全球购物
学校工作推荐信范文
2014/07/11 职场文书
群众路线查摆问题整改措施思想汇报
2014/10/10 职场文书
后天观后感
2015/06/08 职场文书
CSS3 实现的图片悬停的切换按钮
2021/04/13 HTML / CSS