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
PHP 判断常量,变量和函数是否存在
Apr 26 PHP
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
May 04 PHP
PHP aes (ecb)解密后乱码问题
Jun 22 PHP
PHP扩展迁移为PHP7扩展兼容性问题记录
Feb 15 PHP
php版微信公众平台开发之验证步骤实例详解
Sep 23 PHP
PHP正则匹配反斜杠'\'和美元'$'的方法
Feb 08 PHP
阿里云PHP SMS短信服务验证码发送方法
Jul 11 PHP
Yii2.0多文件上传实例说明
Jul 24 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
Aug 01 PHP
php curl发送请求实例方法
Aug 01 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
Dec 01 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
总集篇&特番节目先行播出!《SAO Alicization War of Underworld》第2季度TV动画4月25日放送!
2020/03/06 日漫
玩转图像函数库―常见图形操作
2006/09/03 PHP
建站常用13种PHP开源CMS比较
2009/08/23 PHP
约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
2010/10/12 PHP
php高级编程-函数-郑阿奇
2011/07/04 PHP
显示程序执行时间php函数代码
2013/08/29 PHP
php实现对象克隆的方法
2015/06/20 PHP
PHP如何获取Cookie并实现模拟登录
2020/07/16 PHP
jquery+ajax每秒向后台发送请求数据然后返回页面的代码
2011/01/17 Javascript
AngularJS入门知识之MVW类框架的编程思想探讨
2014/12/08 Javascript
使用JavaScript获取地址栏参数的方法
2014/12/19 Javascript
以WordPress为例讲解jQuery美化页面Title的方法
2016/05/23 Javascript
有趣的bootstrap走动进度条
2016/12/01 Javascript
jQuery上传插件webupload使用方法
2017/08/01 jQuery
webpack打包js文件及部署的实现方法
2017/12/18 Javascript
详解Vue+axios+Node+express实现文件上传(用户头像上传)
2018/08/10 Javascript
原生JS实现自定义下拉单选选择框功能
2018/10/12 Javascript
[02:42]决战东方!DOTA2亚洲邀请赛重启荣耀之争
2017/03/17 DOTA
python 不关闭控制台的实现方法
2011/10/23 Python
python中lambda与def用法对比实例分析
2015/04/30 Python
Python基于numpy灵活定义神经网络结构的方法
2017/08/19 Python
python爱心表白 每天都是浪漫七夕!
2018/08/18 Python
对python:循环定义多个变量的实例详解
2019/01/20 Python
Pandas之Dropna滤除缺失数据的实现方法
2019/06/25 Python
新建文件时Pycharm中自动设置头部模板信息的方法
2020/04/17 Python
Python3.7将普通图片(png)转换为SVG图片格式(网站logo图标)动起来
2020/04/21 Python
python logging.info在终端没输出的解决
2020/05/12 Python
如何在python中实现线性回归
2020/08/10 Python
英国鹦鹉店:Parrot Essentials
2018/12/03 全球购物
Tenstickers法国:墙贴和装饰贴纸
2019/08/26 全球购物
请写出char *p与"零值"比较的if语句
2014/09/24 面试题
小学生作文评语集锦
2014/12/25 职场文书
机器人总动员观后感
2015/06/09 职场文书
职工食堂管理制度
2015/08/06 职场文书
golang elasticsearch Client的使用详解
2021/05/05 Golang
压缩Redis里的字符串大对象操作
2021/06/23 Redis