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 相关文章推荐
JS 网站性能优化笔记
May 24 PHP
PHP中的strtr函数使用介绍(str_replace)
Oct 20 PHP
求PHP数组最大值,最小值的代码
Oct 31 PHP
php利用curl抓取新浪微博内容示例
Apr 27 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
Oct 30 PHP
php删除文本文件中重复行的方法
Apr 28 PHP
PHP之浮点数计算比较以及取整数不准确的解决办法
Jul 29 PHP
PHP中new static()与new self()的比较
Aug 19 PHP
PHP读取文件的常见几种方法
Nov 03 PHP
详解PHP防止盗链防止迅雷下载的方法
Apr 26 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
Apr 04 PHP
tp5.1 框架查询表达式用法详解
May 25 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
discuz安全提问算法
2007/06/06 PHP
PHP中用hash实现的数组
2011/07/17 PHP
PHP文章按日期(月日)SQL归档语句
2012/11/29 PHP
百度ping方法使用示例 自动ping百度
2014/01/26 PHP
php制作简单模版引擎
2016/04/07 PHP
Zend Framework上传文件重命名的实现方法
2016/11/25 PHP
用JavaScript获取网页中的js、css、Flash等文件
2006/12/20 Javascript
JS 非图片动态loading效果实现代码
2010/04/09 Javascript
通过判断JavaScript的版本实现执行不同的代码
2010/05/11 Javascript
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
基于JQuery 的消息提示框效果代码
2011/07/31 Javascript
jQuery插件expander实现图片翻转特效
2015/05/21 Javascript
纯javascript代码实现计算器功能(三种方法)
2015/09/07 Javascript
使用Script元素发送JSONP请求的方法
2016/06/12 Javascript
JS中常用的输出方式(五种)
2016/06/12 Javascript
原生JavaScript制作计算器
2016/10/16 Javascript
详解Webpack DLL用法以及功能
2017/07/11 Javascript
基于复选框demo(分享)
2017/09/27 Javascript
Vue中render函数的使用方法
2018/01/31 Javascript
javascript实现文件拖拽事件
2018/03/29 Javascript
关于HTML5的data-*自定义属性的总结
2018/05/05 Javascript
浅谈node中的cluster集群
2018/06/02 Javascript
Layui带搜索的下拉框的使用以及动态数据绑定方法
2019/09/28 Javascript
微信小程序indexOf的替换方法(推荐)
2020/01/14 Javascript
Node.js API详解之 querystring用法实例分析
2020/04/29 Javascript
element-plus一个vue3.xUI框架(element-ui的3.x 版初体验)
2020/12/02 Vue.js
简单的Apache+FastCGI+Django配置指南
2015/07/22 Python
python使用pycharm环境调用opencv库
2018/02/11 Python
白宫黑市官网:White House Black Market
2016/11/17 全球购物
春节活动策划方案
2014/01/24 职场文书
年度考核自我鉴定
2014/03/19 职场文书
树转促学习心得体会
2014/09/10 职场文书
公安民警正风肃纪剖析材料
2014/10/10 职场文书
银行求职信范文怎么写
2015/03/20 职场文书
2016年教代会开幕词
2016/03/04 职场文书
聊聊mysql都有哪几种分区方式
2022/04/13 MySQL