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+MySQL的聊天室设计
Oct 09 PHP
PHP编程与应用
Oct 09 PHP
40个迹象表明你还是PHP菜鸟
Sep 29 PHP
php下载远程文件类(支持断点续传)
Nov 14 PHP
PHP strtr() 函数使用说明
Nov 21 PHP
PHP的substr_replace将指定两位置之间的字符替换为*号
May 04 PHP
域名和cookie问题(域名后缀)
Oct 10 PHP
浅析echo(),print(),print_r(),return之间的区别
Nov 27 PHP
关于js和php对url编码的处理方法
Mar 04 PHP
PHP利用APC模块实现大文件上传进度条的方法
Oct 29 PHP
利用php-cli和任务计划实现订单同步功能的方法
May 03 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
May 20 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连接oracle数据库的方法(测试成功)
2016/05/26 PHP
php中序列化与反序列化详解
2017/02/13 PHP
php读取和保存base64编码的图片内容
2017/04/22 PHP
PHP 多进程与信号中断实现多任务常驻内存管理实例方法
2019/10/04 PHP
MyEclipse取消验证Js的两种方法
2013/11/14 Javascript
JavaScript中String.prototype用法实例
2015/05/20 Javascript
js强制把网址设为默认首页
2015/09/29 Javascript
Bootstrap每天必学之导航组件
2016/04/25 Javascript
jquery通过name属性取值的简单实现方法
2016/06/20 Javascript
jQuery实现获取元素索引值index的方法
2016/09/18 Javascript
在 Angular 中实现搜索关键字高亮示例
2017/03/21 Javascript
基于原生js运动方式关键点的总结(推荐)
2017/10/01 Javascript
jstree中的checkbox默认选中和隐藏示例代码
2019/12/29 Javascript
Python抓取百度查询结果的方法
2015/07/08 Python
python基于隐马尔可夫模型实现中文拼音输入
2016/04/01 Python
Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
2017/07/24 Python
Python数据结构与算法之完全树与最小堆实例
2017/12/13 Python
python def 定义函数,调用函数方式
2020/06/02 Python
Python项目跨域问题解决方案
2020/06/22 Python
Python Pandas数据分析工具用法实例
2020/11/05 Python
python 解决Windows平台上路径有空格的问题
2020/11/10 Python
深入CSS3 动画效果的总结详解
2013/05/09 HTML / CSS
畜牧兽医本科生个人的自我评价
2013/10/11 职场文书
医药专业应届毕业生求职信范文
2014/01/01 职场文书
会计专业毕业生求职信分享
2014/01/03 职场文书
《孔子拜师》教学反思
2014/02/24 职场文书
经理任命书模板
2014/06/06 职场文书
优秀应届生求职信
2014/06/16 职场文书
湖南省召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
12.4全国法制宣传日活动方案
2014/11/02 职场文书
学校捐款活动总结
2015/05/09 职场文书
大学学习委员竞选稿
2015/11/20 职场文书
导游词之西安骊山
2019/12/20 职场文书
详解NodeJS模块化
2021/06/15 NodeJs
Vue+Flask实现图片传输功能
2022/04/01 Vue.js
如何打开Win11系统注册表编辑器?Win11注册表编辑器打开修复方法
2022/04/05 数码科技