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 相关文章推荐
不用数据库的多用户文件自由上传投票系统(3)
Oct 09 PHP
php调用mysql存储过程
Feb 14 PHP
php面向对象全攻略 (七) 继承性
Sep 30 PHP
php流量统计功能的实现代码
Sep 29 PHP
php导出中文内容excel文件类实例
Jul 06 PHP
PHP curl模拟登录带验证码的网站
Nov 30 PHP
程序员的表白神器“520”大声喊出来
May 20 PHP
PHP自定义函数格式化json数据示例
Sep 14 PHP
php中foreach结合curl实现多线程的方法分析
Sep 22 PHP
php版微信自动登录并获取昵称的方法
Sep 23 PHP
yii2使用GridView实现数据全选及批量删除按钮示例
Mar 01 PHP
360搜索引擎自动收录php改写方案
Apr 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中对用户身份认证实现两种方法
2011/06/04 PHP
MyEclipse常用配置图文教程
2014/09/11 PHP
织梦sitemap地图实时推送给百度的教程
2015/08/03 PHP
JS与框架页的操作代码
2010/01/17 Javascript
javascript对select标签的控制(option选项/select)
2013/01/31 Javascript
Jquery AJAX POST与GET之间的区别
2013/11/14 Javascript
js获取元素相对窗口位置的实现代码
2014/09/28 Javascript
轻松掌握JavaScript享元模式
2016/08/27 Javascript
jquery实现轮播图效果
2017/02/13 Javascript
vue.js中ref及$refs的使用方法解析
2019/10/08 Javascript
Vue中强制组件重新渲染的正确方法
2021/01/03 Vue.js
github配置使用指南
2014/11/18 Python
Python标准库内置函数complex介绍
2014/11/25 Python
python pandas 对series和dataframe的重置索引reindex方法
2018/06/07 Python
解决python报错MemoryError的问题
2018/06/26 Python
python中的数据结构比较
2019/05/13 Python
python 含子图的gif生成时内存溢出的方法
2019/07/07 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
2019/11/29 Python
PyQt5 如何让界面和逻辑分离的方法
2020/03/24 Python
如何在django中运行scrapy框架
2020/04/22 Python
10款最佳Python开发工具推荐,每一款都是神器
2020/10/15 Python
python中delattr删除对象方法的代码分析
2020/12/15 Python
波兰购物网站:MALL.PL
2019/05/01 全球购物
巴西葡萄酒商店:Divvino
2020/02/22 全球购物
医科大学生毕业的自我评价分享
2013/11/12 职场文书
本科毕业生的求职信范文
2013/11/20 职场文书
中餐厅主管的职责范文
2014/02/04 职场文书
2014年党课学习材料
2014/05/11 职场文书
学习党章的体会
2014/11/07 职场文书
2014年质量管理工作总结
2014/12/01 职场文书
二年级学生期末评语
2014/12/26 职场文书
信贷客户经理岗位职责
2015/04/09 职场文书
2016年优秀党务工作者先进事迹材料
2016/02/29 职场文书
2019各种保证书范文
2019/06/24 职场文书
CSS3 制作的彩虹按钮样式
2021/04/11 HTML / CSS
python3实现常见的排序算法(示例代码)
2021/07/04 Python