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程序
Oct 09 PHP
杏林同学录(二)
Oct 09 PHP
实现php加速的eAccelerator dll支持文件打包下载
Sep 30 PHP
php读取30天之内的根据算法排序的代码
Apr 06 PHP
PHP 读取Postgresql中的数组
Apr 14 PHP
php class类的用法详细总结
Oct 17 PHP
php实现aes加密类分享
Feb 16 PHP
php函数serialize()与unserialize()用法实例
Nov 06 PHP
php浏览历史记录的方法
Mar 10 PHP
php中JSON的使用方法
Apr 30 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
Dec 19 PHP
PHP中常见的密码处理方式和建议总结
Oct 14 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
星际RPG字典
2020/03/04 星际争霸
php实现保存submit内容之后禁止刷新
2014/03/19 PHP
php实现mysql封装类示例
2014/05/07 PHP
Laravel框架学习笔记(二)项目实战之模型(Models)
2014/10/15 PHP
PHP/HTML混写的四种方式总结
2017/02/27 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
javascript 操作cookies及正确使用cookies的属性
2009/10/15 Javascript
javascript实用方法总结
2015/02/06 Javascript
Javascript核心读书有感之语句
2015/02/11 Javascript
javascript+ajax实现产品页面加载信息
2015/07/09 Javascript
Javascript实现图片轮播效果(二)图片序列节点的控制实现
2016/02/17 Javascript
Bootstrap 附加导航(Affix)插件实例详解
2016/06/01 Javascript
jQuery ajax全局函数处理session过期后的ajax跳转问题
2016/06/03 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
2016/12/16 Javascript
Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
2016/12/31 Javascript
微信小程序scroll-x失效的完美解决方法
2018/07/18 Javascript
JavaScript循环遍历你会用哪些之小结篇
2018/09/28 Javascript
vue.js高德地图实现热点图代码实例
2019/04/18 Javascript
vue中created和mounted的区别浅析
2019/08/13 Javascript
[06:25]DOTA2英雄梦之声_第17期_大地之灵
2014/06/20 DOTA
python实现根据用户输入从电影网站获取影片信息的方法
2015/04/07 Python
详解Python中的strftime()方法的使用
2015/05/22 Python
Django Admin实现三级联动的示例代码(省市区)
2018/06/22 Python
Python读取mat文件,并转为csv文件的实例
2018/07/04 Python
对python实现二维函数高次拟合的示例详解
2018/12/29 Python
使用Python的Turtle绘制哆啦A梦实例
2019/11/21 Python
python基于win32api实现键盘输入
2020/12/09 Python
Python爬虫回测股票的实例讲解
2021/01/22 Python
AT&T Wireless:手机、无限数据计划和配件
2018/06/03 全球购物
就业推荐表自我鉴定范文
2014/03/21 职场文书
银行内勤岗位职责
2014/04/09 职场文书
教师竞聘上岗演讲稿
2014/09/03 职场文书
消防隐患整改通知书
2015/04/22 职场文书
详解Python小数据池和代码块缓存机制
2021/04/07 Python
win10清理dns缓存
2022/04/19 数码科技
CSS 鼠标点击拖拽效果的实现代码
2022/12/24 HTML / CSS