PHP PDO fetch 模式各种参数的输出结果一览


Posted in PHP onJanuary 07, 2015

PDO 的 fetch 模式功能实在是太方便了,但每次要产生想要的结果都要试太麻烦了,这里列出可能的组合。

<?php    

$dbAdapter = new PDO("mysql:host=localhost;dbname=test", "root", "1234");    

$dbAdapter->exec("SET NAMES 'utf8';");    

    

$data = $dbAdapter->query("   

   SELECT id, name, method FROM category   

")->fetchAll(PDO::FETCH_ASSOC);    

    

//var_dump($data);    

/*   

array(   

   array(   

       'id' => '1',   

       'name' => 'HBO',   

       'method' => 'service',   

   ),   

   array(   

       'id' => '2',   

       'name' => '本周新片',   

       'method' => 'movie',   

   ),   

   array(   

       'id' => '3',   

       'name' => '热映中',   

       'method' => 'movie',   

   ),   

)   

*/    

    

    

    

$data = $dbAdapter->query("   

   SELECT name, method FROM category   

")->fetchAll(PDO::FETCH_COLUMN);    

    

//var_dump($data);    

/*   

array(   

   'HBO',   

   '本周新片',   

   '热映中',   

)   

*/    

    

    

    

$data = $dbAdapter->query("   

   SELECT id, name, method FROM category   

")->fetchAll(PDO::FETCH_UNIQUE | PDO::FETCH_ASSOC);    

    

//var_dump($data);    

/*   

array(   

   '1' => array(   

       'name' => 'HBO',   

       'method' => 'service',   

   ),   

   '2' => array(   

       'name' => '本周新片',   

       'method' => 'movie',   

   ),   

   '3' => array(   

       'name' => '热映中',   

       'method' => 'movie',   

   ),   

)   

*/    

    

    

    

$data = $dbAdapter->query("   

   SELECT method, id, name FROM category   

")->fetchAll(PDO::FETCH_UNIQUE | PDO::FETCH_ASSOC);    

    

//var_dump($data);    

/*   

array(   

   'service' => array(   

       'id' => '1',   

       'name' => 'HBO',   

   ),   

   'movie' => array(   

       'id' => '3',   

       'name' => '热映中',   

   ),   

)   

*/    

    

    

    

$data = $dbAdapter->query("   

   SELECT id, name, method FROM category   

")->fetchAll(PDO::FETCH_UNIQUE | PDO::FETCH_COLUMN);    

    

//var_dump($data);    

/*   

array(   

   '1' => 'HBO',   

   '2' => '本周新片',   

   '3' => '热映中',   

)   

*/    

    

    

    

$data = $dbAdapter->query("   

   SELECT method, name, id FROM category   

")->fetchAll(PDO::FETCH_UNIQUE | PDO::FETCH_COLUMN);    

    

//var_dump($data);    

/*   

array(   

   'service' => 'HBO',   

   'movie' => '热映中',   

)   

*/    

    

    

    

    

$data = $dbAdapter->query("   

   SELECT method, id, name FROM category   

")->fetchAll( PDO::FETCH_ASSOC | PDO::FETCH_GROUP);    

    

//var_dump($data);    

/*   

array(   

   'service' => array(   

       array(   

           'id' => '1'   

           'name' => 'HBO'   

       ),   

   )   

   'movie' => array(   

       array(   

         'id' => '2'   

         'name' => '本周新片'   

       ),   

       array(   

         'id' => '3'   

         'name' => '热映中'   

       ),   

   )   

)   

*/    

    

    

    

    

$data = $dbAdapter->query("   

   SELECT method, name, id FROM category   

")->fetchAll(PDO::FETCH_GROUP | PDO::FETCH_COLUMN);    

    

//var_dump($data);    

/*   

array(   

   'service' => array(   

       'HBO'   

   ),   

   'movie' => array(   

       '本周新片'   

       '热映中'   

   ),   

)   

*/    

    

    

    

    

    

$data = $dbAdapter->query("   

   SELECT id, name, method FROM category   

")->fetchAll(PDO::FETCH_OBJ);    

    

//var_dump($data);    

/*   

array(   

   stdClass{   

       public $id = '1';   

       public $name = 'HBO';   

       public $method = 'service';   

   },   

   stdClass{   

       public $id = '2';   

       public $name = '本周新片';   

       public $method = 'movie';   

   },   

   stdClass{   

       public $id = '3';   

       public $name = '热映中';   

       public $method = 'movie';   

   },   

)   

*/    

    

    

    

    

    

    

    

class Category_1 {}    

    

$data = $dbAdapter->query("   

   SELECT id, name, method FROM category   

")->fetchAll(PDO::FETCH_CLASS | PDO::FETCH_PROPS_LATE, "Category_1");    

    

//var_dump($data);    

/*   

array(   

   Category_1{   

       public $id = '1';   

       public $name = 'HBO';   

       public $method = 'service';   

   },   

   Category_1{   

       public $id = '2';   

       public $name = '本周新片';   

       public $method = 'movie';   

   },   

   Category_1{   

       public $id = '3';   

       public $name = '热映中';   

       public $method = 'movie';   

   },   

),   

*/    

    

    

    

    

    

class Category_2 {    

   public $name;    

   public $method;    

    

   public function __construct() {}    

   public function __set($name, $value ){}    

}    

    

$data = $dbAdapter->query("   

   SELECT id, name, method FROM category   

")->fetchAll(PDO::FETCH_CLASS | PDO::FETCH_PROPS_LATE, "Category_2");    

    

//var_dump($data);    

/*   

array(   

   Category_2{   

       public $name = 'HBO';   

       public $method = 'service';   

   },   

   Category_2{   

       public $name = '本周新片';   

       public $method = 'movie';   

   },   

   Category_2{   

       public $name = '热映中';   

       public $method = 'movie';   

   },   

)   

*/  
PHP 相关文章推荐
PHP简单系统查询模块代码打包下载
Jun 07 PHP
php面向对象全攻略 (十六) 对象的串行化
Sep 30 PHP
php 深入理解strtotime函数的使用详解
May 23 PHP
如何使用PHP获取指定日期所在月的开始日期与结束日期
Aug 01 PHP
php使用mb_check_encoding检查字符串在指定的编码里是否有效
Nov 07 PHP
php实现mysql封装类示例
May 07 PHP
php生成随机颜色的方法
Nov 13 PHP
php正则匹配html中带class的div并选取其中内容的方法
Jan 13 PHP
php上传文件常见问题总结
Feb 03 PHP
PHP Hash算法:Times33算法代码实例
May 13 PHP
PHP语法小结之基础和变量
Nov 22 PHP
详解PHP PDO简单教程
May 28 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
Jan 07 #PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
Jan 07 #PHP
PHP实现的简易版图片相似度比较
Jan 07 #PHP
PHP中使用SimpleXML检查XML文件结构实例
Jan 07 #PHP
php中$_POST与php://input的区别实例分析
Jan 07 #PHP
php静态文件返回304技巧分享
Jan 06 #PHP
php判断当前用户已在别处登录的方法
Jan 06 #PHP
You might like
用PHP+MySql编写聊天室
2006/10/09 PHP
snoopy 强大的PHP采集类使用实例代码
2010/12/09 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
JavaScript字符串String和Array操作的有趣方法
2012/12/18 Javascript
30个经典的jQuery代码开发技巧
2014/12/15 Javascript
JS实现点击文字对应DIV层不停闪动效果的方法
2015/03/02 Javascript
jQuery插件pagewalkthrough实现引导页效果
2015/07/05 Javascript
javascript实现自动输出文本(打字特效)
2015/08/27 Javascript
JavaScript学习笔记之取数组中最大值和最小值
2016/03/23 Javascript
微信小程序 参数传递详解
2016/10/24 Javascript
VUE前端cookie简单操作
2017/10/17 Javascript
vuejs router history 配置到iis的方法
2018/09/20 Javascript
vue将后台数据时间戳转换成日期格式
2019/07/31 Javascript
JavaScript事件概念详解(区分静态注册和动态注册)
2021/02/05 Javascript
[02:06]2018完美世界全国高校联赛秋季赛开始报名(附彩蛋)
2018/09/03 DOTA
Python实例分享:快速查找出被挂马的文件
2014/06/08 Python
python学习之matplotlib绘制散点图实例
2017/12/09 Python
Pandas中把dataframe转成array的方法
2018/04/13 Python
python 分离文件名和路径以及分离文件名和后缀的方法
2018/10/21 Python
Python使用ElementTree美化XML格式的操作
2020/03/06 Python
python logging.info在终端没输出的解决
2020/05/12 Python
Django+Celery实现动态配置定时任务的方法示例
2020/05/26 Python
Python并发爬虫常用实现方法解析
2020/11/19 Python
Django实现简单的分页功能
2021/02/22 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
诉讼代理人授权委托书
2014/04/08 职场文书
党员学习新党章思想汇报
2014/10/25 职场文书
骨干教师申报材料
2014/12/17 职场文书
通知的格式范文
2015/04/27 职场文书
项目合作意向书
2015/05/08 职场文书
巴黎圣母院观后感
2015/06/10 职场文书
领导离职感言
2015/08/03 职场文书
志愿者工作心得体会
2016/01/15 职场文书
测量JavaScript函数的性能各种方式对比
2021/04/27 Javascript
CentOS8.4安装Redis6.2.6的详细过程
2021/11/20 Redis
Linux中如何安装并部署Redis
2022/04/18 Servers