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&amp;&amp;mysql)五
Oct 09 PHP
PHP类的使用 实例代码讲解
Dec 28 PHP
深入理解PHP原理之Session Gc的一个小概率Notice
Apr 12 PHP
php中获得视频时间总长度的另一种方法
Sep 15 PHP
PHP中return 和 exit 、break和contiue 区别与用法
Apr 09 PHP
php 邮件发送问题解决
Mar 22 PHP
PHP+jQuery 注册模块的改进(三):更新到Smarty3.1
Oct 14 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
Mar 21 PHP
CodeIgniter开发实现支付宝接口调用的方法示例
Nov 14 PHP
php微信开发之音乐回复功能
Jun 14 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
Jun 13 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
Sep 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
PHP详细彻底学习Smarty
2008/03/27 PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
2013/04/28 PHP
PHP获取当前url的具体方法全面解析
2013/11/26 PHP
php制作动态随机验证码
2015/02/12 PHP
JS 文件大小判断的实现代码
2010/04/07 Javascript
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
2011/01/09 Javascript
jQuery去掉字符串起始和结尾的空格(多种方法实现)
2013/04/01 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
批量修改标签css样式以input标签为例
2014/07/31 Javascript
jquery中EasyUI实现同步树
2015/03/01 Javascript
javascript中eval函数用法分析
2015/04/25 Javascript
js中函数声明与函数表达式
2015/06/03 Javascript
jquery实现的淡入淡出下拉菜单效果
2015/08/25 Javascript
zepto与jquery的区别及zepto的不同使用8条小结
2016/07/28 Javascript
jQuery实现的表格展开伸缩效果实例
2016/09/07 Javascript
基于Angularjs+mybatis实现二级评论系统(仿简书)
2017/02/13 Javascript
详谈js对url进行编码和解码(三种方式的区别)
2017/08/16 Javascript
加载 vue 远程代码的组件实例详解
2017/11/20 Javascript
详解vue-cli 接口代理配置
2017/12/13 Javascript
jQuery无冲突模式详解
2019/01/17 jQuery
通过实例了解js函数中参数的传递
2019/06/15 Javascript
详解react组件通讯方式(多种)
2020/05/06 Javascript
[03:09]DOTA2亚洲邀请赛 LGD战队出场宣传片
2015/02/07 DOTA
Python logging模块学习笔记
2014/05/24 Python
python爬虫面试宝典(常见问题)
2018/03/02 Python
python得到qq句柄,并显示在前台的方法
2018/10/14 Python
浅谈优化Django ORM中的性能问题
2020/07/09 Python
用python写PDF转换器的实现
2020/10/29 Python
Hotels.com拉丁美洲:从豪华酒店到经济型酒店的预定优惠和折扣
2019/12/09 全球购物
介绍一下Java中的Class类
2015/04/10 面试题
大学生自我鉴定
2013/12/08 职场文书
会计岗位说明书
2014/07/29 职场文书
诉讼授权委托书
2014/10/15 职场文书
交通处罚决定书
2015/06/24 职场文书
Python还能这么玩之用Python修改了班花的开机密码
2021/06/04 Python
Python+SeaTable实现计算两个日期间的工作日天数
2022/07/07 Python