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 相关文章推荐
通过文字传递创建的图形按钮
Oct 09 PHP
使用数据库保存session的方法
Oct 09 PHP
php学习 函数 课件
Jun 15 PHP
Cakephp 执行主要流程
Mar 24 PHP
php 模拟post_验证页面的返回状态(实例讲解)
Oct 28 PHP
PHP按行读取文件时删除换行符的3种方法
May 04 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
Jun 30 PHP
PHP实现适用于自定义的验证码类
Jun 15 PHP
PHP微信支付实例解析
Jul 22 PHP
PHP开发APP端微信支付功能
Feb 17 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
May 11 PHP
laravel使用Faker数据填充的实现方法
Apr 12 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 PDO简单教程
2019/05/28 PHP
syntaxhighlighter 使用方法
2007/07/02 Javascript
jquery里的each使用方法详解
2010/12/22 Javascript
使用js在页面中绘制表格核心代码
2013/09/16 Javascript
js转义字符介绍
2013/11/05 Javascript
详解Bootstrap的aria-label和aria-labelledby应用
2016/01/04 Javascript
JavaScript解八皇后问题的方法总结
2016/06/12 Javascript
Jquery组件easyUi实现选项卡切换示例
2016/08/23 Javascript
在Web项目中引入Jquery插件报错的完美解决方案(图解)
2016/09/19 Javascript
JavaScript交换两个变量值的七种解决方案
2016/12/01 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
2016/12/14 Javascript
node.js实现复制文本到剪切板的功能
2017/01/23 Javascript
深入理解Javascript箭头函数中的this
2017/02/13 Javascript
Vue使用json-server进行后端数据模拟功能
2018/04/17 Javascript
webpack里使用jquery.mCustomScrollbar插件的方法
2018/05/30 jQuery
TypeScript基础入门教程之三重斜线指令详解
2018/10/22 Javascript
微信小程序new Date()方法失效问题解决方法
2019/07/29 Javascript
Js逆向实现滑动验证码图片还原的示例代码
2020/03/10 Javascript
react PropTypes校验传递的值操作示例
2020/04/28 Javascript
[01:02:38]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第二场 1月10日
2021/03/11 DOTA
python分析nignx访问日志脚本分享
2015/02/26 Python
Python将一个CSV文件里的数据追加到另一个CSV文件的方法
2018/07/04 Python
对pandas中Series的map函数详解
2018/07/25 Python
解决pyinstaller打包pyqt5的问题
2019/01/08 Python
python3.7 的新特性详解
2019/07/25 Python
python代码实现逻辑回归logistic原理
2019/08/07 Python
centos7之Python3.74安装教程
2019/08/15 Python
Python如何将将模块分割成多个文件
2020/08/04 Python
JackJones官方旗舰店:杰克琼斯男装
2018/03/27 全球购物
香港百佳网上超级市场:PARKNSHOP.com
2020/06/10 全球购物
Burt’s Bees英国官网:世界领先的天然个人护理品牌
2020/08/17 全球购物
什么是makefile? 如何编写makefile?
2012/08/08 面试题
幼儿园标语大全
2014/06/19 职场文书
2014年财务个人工作总结
2014/12/08 职场文书
初三学生语文考试作弊检讨书
2014/12/14 职场文书
工作会议简报
2015/07/20 职场文书