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 Ajax实现页面无刷新发表评论
Jan 02 PHP
pw的一个放后门的方法分析
Oct 08 PHP
Windows7下PHP开发环境安装配置图文方法
May 20 PHP
ajax取消挂起请求的处理方法
Mar 18 PHP
php获取字段名示例分享
Mar 03 PHP
PHP判断远程图片是否存在的几种方法
May 04 PHP
php生成PDF格式文件并且加密
Jun 22 PHP
PHP的openssl加密扩展使用小结(推荐)
Jul 18 PHP
php使用json-schema模块实现json校验示例
Sep 28 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
Oct 18 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 PHP
PHP设计模式入门之状态模式原理与实现方法分析
Apr 26 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 实现浏览记录并按日期分组
2017/05/11 PHP
PHP实现简单用户登录界面
2019/10/23 PHP
php框架知识点的整理和补充
2021/03/01 PHP
使用CSS3实现字体颜色渐变的实现
2021/03/09 HTML / CSS
理解Javascript_11_constructor实现原理
2010/10/18 Javascript
JS实现可改变列宽的table实例
2013/07/02 Javascript
js导出格式化的excel 实例方法
2013/07/17 Javascript
javascript验证只能输入数字和一个小数点示例
2013/10/21 Javascript
javascript数组操作(创建、元素删除、数组的拷贝)
2014/04/07 Javascript
jQuery控制Div拖拽效果完整实例分析
2015/04/15 Javascript
JavaScript实现鼠标滑过处生成气泡的方法
2015/05/16 Javascript
JS通过Cookie判断页面是否为首次打开
2016/02/05 Javascript
第五篇Bootstrap 排版
2016/06/21 Javascript
仿百度换肤功能的简单实例代码
2016/07/11 Javascript
EasyUI加载完Html内容样式渲染完成后显示
2016/07/25 Javascript
原生JavaScript实现精美的淘宝轮播图效果示例【附demo源码下载】
2017/05/27 Javascript
详解使用vscode+es6写nodejs服务端调试配置
2017/09/21 NodeJs
浅析JS中回调函数及用法
2018/07/25 Javascript
在微信小程序里使用watch和computed的方法
2018/08/02 Javascript
微信js-sdk 录音功能的示例代码
2019/11/01 Javascript
vue配置多代理服务接口地址操作
2020/09/08 Javascript
vscode自定义vue模板的实现
2021/01/27 Vue.js
[19:14]DOTA2 HEROS教学视频教你分分钟做大人-维萨吉
2014/06/24 DOTA
解决Python中由于logging模块误用导致的内存泄露
2015/04/23 Python
Python基于jieba库进行简单分词及词云功能实现方法
2018/06/16 Python
python用for循环求和的方法总结
2019/07/08 Python
使用django的ORM框架按月统计近一年内的数据方法
2019/07/18 Python
opencv python如何实现图像二值化
2020/02/03 Python
python实现人性化显示金额数字实例详解
2020/09/25 Python
Pycharm github配置实现过程图解
2020/10/13 Python
浅析border-radius如何兼容IE
2016/04/19 HTML / CSS
伊利莎白雅顿官网:Elizabeth Arden
2016/10/10 全球购物
Allen Edmonds官方网站:一家美国优质男士鞋类及配饰制造商
2019/03/12 全球购物
商务英语专业求职信范文
2014/01/28 职场文书
优秀乡村医生事迹材料
2014/05/28 职场文书
SqlServer数据库远程连接案例教程
2021/07/15 SQL Server