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获取网络上文件
Oct 09 PHP
自动分页的不完整解决方案
Jan 12 PHP
PHP_MySQL教程-第一天
Mar 18 PHP
php横向重复区域显示二法
Sep 25 PHP
解析:使用php mongodb扩展时 需要注意的事项
Jun 18 PHP
table标签的结构与合并单元格的实现方法
Jul 24 PHP
php限制ip地址范围的方法
Mar 31 PHP
简单介绍PHP的责任链编程模式
Aug 11 PHP
详解PHP匿名函数与注意事项
Mar 29 PHP
php显示页码分页类的封装
Jun 08 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
Sep 05 PHP
PHP操作路由器实现方法示例
Apr 27 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
德生1994机评
2021/03/02 无线电
php xml 入门学习资料
2011/01/01 PHP
PHP代码网站如何防范SQL注入漏洞攻击建议分享
2012/03/01 PHP
解析php中的fopen()函数用打开文件模式说明
2013/06/20 PHP
PHP面向对象自动加载机制原理与用法分析
2016/10/14 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
让iframe框架网页在任何浏览器下自动伸缩
2006/08/18 Javascript
innertext , insertadjacentelement , insertadjacenthtml , insertadjacenttext 等区别
2007/06/29 Javascript
js有序数组的连接问题
2013/10/01 Javascript
基于jquery实现的文字淡入淡出效果
2013/11/14 Javascript
JavaScript中的Primitive对象封装介绍
2014/12/31 Javascript
JS实现的自定义右键菜单实例二则
2015/09/01 Javascript
jQuery.trim() 函数及trim()用法详解
2015/10/26 Javascript
JavaScript保留关键字汇总
2015/12/01 Javascript
JS组件系列之JS组件封装过程详解
2017/04/28 Javascript
JS 组件系列之BootstrapTable的treegrid功能
2017/06/16 Javascript
使用express+multer实现node中的图片上传功能
2018/02/02 Javascript
Nodejs实现爬虫抓取数据实例解析
2018/07/05 NodeJs
微信小程序日历/日期选择插件使用方法详解
2018/12/28 Javascript
vue实现动态显示与隐藏底部导航的方法分析
2019/02/11 Javascript
js实现倒计时器自定义时间和暂停
2019/02/25 Javascript
ES10 特性的完整指南小结
2019/03/04 Javascript
uni-app如何页面传参数的几种方法总结
2020/04/28 Javascript
JavaScript 监听组合按键思路及代码实现
2020/07/28 Javascript
使用js原生实现年份轮播选择效果实例
2021/01/12 Javascript
详解ES6实现类的私有变量的几种写法
2021/02/10 Javascript
Python实现列表转换成字典数据结构的方法
2016/03/11 Python
python常用库之NumPy和sklearn入门
2019/07/11 Python
详解Python打包分发工具setuptools
2019/08/05 Python
基于Python下载网络图片方法汇总代码实例
2020/06/24 Python
Python random模块的使用示例
2020/10/10 Python
Python 实现PS滤镜的旋涡特效
2020/12/03 Python
SVG实现多彩圆环倒计时效果的示例代码
2017/11/21 HTML / CSS
护理专科毕业推荐信
2013/11/10 职场文书
2015年工程部工作总结
2015/04/30 职场文书
使用nginx动态转换图片大小生成缩略图
2021/03/31 Servers