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 相关文章推荐
分页显示Oracle数据库记录的类之一
Oct 09 PHP
PHP的面试题集
Nov 19 PHP
phpMyAdmin下载、安装和使用入门教程
May 31 PHP
提高PHP编程效率 引入缓存机制提升性能
Feb 15 PHP
PHP 检查扩展库或函数是否可用的代码
Apr 06 PHP
学习php笔记 字符串处理
Oct 19 PHP
PHP 7.1新特性的汇总介绍
Dec 16 PHP
php实现通过soap调用.Net的WebService asmx文件
Feb 27 PHP
PHP简单实现欧拉函数Euler功能示例
Nov 06 PHP
tp5(thinkPHP5)框架数据库Db增删改查常见操作总结
Jan 10 PHP
PHP使用 Pear 进行安装和卸载包的方法详解
Jul 08 PHP
Yii框架getter与setter方法功能与用法分析
Oct 22 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轻松实现中英文混排字符串截取
2014/05/28 PHP
在WordPress中实现发送http请求的相关函数解析
2015/12/29 PHP
Yii2中Restful API原理实例分析
2016/07/25 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
解决laravel中日志权限莫名变成了root的问题
2019/10/17 PHP
PHP论坛实现积分系统的思路代码详解
2020/06/01 PHP
Javascript 日期对象Date扩展方法
2009/05/30 Javascript
javascript中数组的定义及使用实例
2015/01/21 Javascript
深入讲解AngularJS中的自定义指令的使用
2015/06/18 Javascript
JavaScript实现同时调用多个函数的方法
2015/11/09 Javascript
js替换字符串中所有指定的字符(实现代码)
2016/08/17 Javascript
js通过classname来获取元素的方法
2016/11/24 Javascript
vue使用watch 观察路由变化,重新获取内容
2017/03/08 Javascript
AngularJS折叠菜单实现方法示例
2017/05/18 Javascript
使用live-server快速搭建本地服务器+自动刷新的方法
2018/03/09 Javascript
webstorm和.vue中es6语法报错的解决方法
2018/05/08 Javascript
node上的redis调用优化示例详解
2018/10/30 Javascript
微信小程序实现的日期午别医生排班表功能示例
2019/01/09 Javascript
总结4个方面优化Vue项目
2019/02/11 Javascript
基于Node的Axure文件在线预览的实现代码
2019/08/28 Javascript
基于Vue el-autocomplete 实现类似百度搜索框功能
2019/10/25 Javascript
微信小程序连接服务器展示MQTT数据信息的实现
2020/07/14 Javascript
wepy--用vantUI 实现上弹列表并选择相应的值操作
2020/11/03 Javascript
Python基于hashlib模块的文件MD5一致性加密验证示例
2018/02/10 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
2020/07/20 Python
Python对excel文档的操作方法详解
2018/12/10 Python
python 输出列表元素实例(以空格/逗号为分隔符)
2019/12/25 Python
Python 实现递归法解决迷宫问题的示例代码
2020/01/12 Python
英国空调、除湿机和通风设备排名第一:Air Con Centre
2019/02/25 全球购物
加拿大鞋网:Globo Shoes
2019/12/26 全球购物
建筑安全生产责任书
2014/07/22 职场文书
2014年幼儿园教师工作总结
2014/11/08 职场文书
学生自我评语
2015/01/04 职场文书
培训班开班主持词
2015/07/02 职场文书
Python OpenGL基本配置方式
2022/05/20 Python
Elasticsearch6.2服务器升配后的bug(避坑指南)
2022/09/23 Servers