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 相关文章推荐
E路文章系统PHP
Dec 11 PHP
php str_replace的替换漏洞
Mar 15 PHP
PHP5权威编程阅读学习笔记 附电子书下载
Jul 05 PHP
基于PHP选项与信息函数的使用详解
May 10 PHP
php中base64_decode与base64_encode加密解密函数实例
Nov 24 PHP
php通过rmdir删除目录的简单用法
Mar 18 PHP
PHP生成唯一订单号的方法汇总
Apr 16 PHP
php去掉文件前几行的方法
Jul 29 PHP
简单的php+mysql聊天室实现方法(附源码)
Jan 05 PHP
深入理解PHP 数组之count 函数
Jun 13 PHP
thinkPHP5.0框架独立配置与动态配置方法
Mar 17 PHP
深入解析PHP底层机制及相关原理
Dec 11 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
福利彩票幸运号码自动生成器
2006/10/09 PHP
fleaphp常用方法分页之Pager使用方法
2011/04/23 PHP
注册页面之前先验证用户名是否存在的php代码
2012/07/14 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
2013/05/06 PHP
使用配置类定义Codeigniter全局变量
2014/06/12 PHP
深入讲解PHP的Yii框架中的属性(Property)
2016/03/18 PHP
真正的JQuery.ajax传递中文参数的解决方法
2011/05/28 Javascript
JSON为什么那样红为什么要用json(另有洞天)
2012/12/26 Javascript
密码框显示提示文字jquery示例
2013/08/29 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
2015/03/12 Javascript
使用DNode实现php和nodejs之间通信的简单实例
2015/07/06 NodeJs
js自定义回调函数
2015/12/13 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
2016/10/31 Javascript
javascript动画之磁性吸附效果篇
2016/12/09 Javascript
nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证示例
2016/12/30 NodeJs
JavaScript 动态三角函数实例详解
2017/01/08 Javascript
JS实现运动缓冲效果的封装函数示例
2018/02/18 Javascript
vue使用vue-i18n实现国际化的实现代码
2018/04/08 Javascript
JS中promise化微信小程序api
2018/04/12 Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
2019/11/06 Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
2019/11/13 Javascript
ant design中upload组件上传大文件,显示进度条进度的实例
2020/10/29 Javascript
[01:14:19]NAVI vs Mineski 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
Python实现利用最大公约数求三个正整数的最小公倍数示例
2017/09/30 Python
深入分析python中整型不会溢出问题
2018/06/18 Python
VSCode中自动为Python文件添加头部注释
2019/11/14 Python
基于pytorch的lstm参数使用详解
2020/01/14 Python
浅析python标准库中的glob
2020/03/13 Python
今天学到的CSS最新技术(与图片背景相关)
2012/12/24 HTML / CSS
自然健康的概念:Natural Healthy Concepts
2020/01/26 全球购物
寒假思想汇报
2014/01/10 职场文书
店长职务说明书
2014/02/04 职场文书
结婚主持人致辞
2015/07/28 职场文书
2016年春季趣味运动会开幕词
2016/03/04 职场文书
Python Pandas常用函数方法总结
2021/06/15 Python
SpringBoot系列之MongoDB Aggregations用法详解
2022/02/12 MongoDB