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 相关文章推荐
php4的彩蛋
Oct 09 PHP
php实现的遍历文件夹下所有文件,编辑删除
Jan 05 PHP
PHP pathinfo()获得文件的路径、名称等信息说明
Sep 13 PHP
PHP常用技巧总结(附函数代码)
Feb 04 PHP
php调用Google translate_tts api实现代码
Aug 07 PHP
深入解读php中关于抽象(abstract)类和抽象方法的问题分析
Jan 03 PHP
PHP程序漏洞产生的原因分析与防范方法说明
Mar 06 PHP
兼容ie6浏览器的php下载文件代码分享
Jul 14 PHP
PHP的邮件群发系统phplist配置方法详细总结
Mar 30 PHP
简单的自定义php模板引擎
Aug 26 PHP
php制作圆形用户头像的实例_自定义封装类源代码
Sep 18 PHP
TP5(thinkPHP5框架)实现显示错误信息及行号功能的方法
Jun 03 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
一个SQL管理员的web接口
2006/10/09 PHP
PHP设计模式之命令模式的深入解析
2013/06/13 PHP
PHP实现的统计数据功能详解
2016/12/06 PHP
thinkPHP框架实现的短信接口验证码功能示例
2018/06/20 PHP
详解PHP神奇又有用的Trait
2019/03/25 PHP
在修改准备发的批量美化select+可修改select时,在非IE下发现了几个问题
2007/01/09 Javascript
Javascript中的数学函数
2007/04/04 Javascript
jQuery lazyload 的重复加载错误以及修复方法
2010/11/19 Javascript
三级下拉菜单的js实现代码
2011/05/23 Javascript
JavaScript常用验证函数实例汇总
2014/11/25 Javascript
Javascript基础_嵌入图像的简单实现
2016/06/14 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
2016/09/03 Javascript
Bootstrap使用基础教程详解
2016/09/05 Javascript
详解利用exif.js解决ios手机上传竖拍照片旋转90度问题
2016/11/04 Javascript
jQuery实现圣诞节礼物传送(花式轮播)
2016/12/25 Javascript
浅谈react前后端同构渲染
2017/09/20 Javascript
Angular4学习教程之DOM属性绑定详解
2018/01/04 Javascript
nodejs中密码加密处理操作详解
2018/03/20 NodeJs
Vue 数组和对象更新,但是页面没有刷新的解决方式
2019/11/09 Javascript
JS控制下拉列表左右选择实例代码
2020/05/08 Javascript
[50:59]2018DOTA2亚洲邀请赛 4.7 总决赛 LGD vs Mineski第四场
2018/04/10 DOTA
Python字符串通过'+'和join函数拼接新字符串的性能测试比较
2019/03/05 Python
Python提取特定时间段内数据的方法实例
2019/04/01 Python
Django为窗体加上防机器人的验证码功能过程解析
2019/08/14 Python
用sqlalchemy构建Django连接池的实例
2019/08/29 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
2019/08/30 Python
Django之富文本(获取内容,设置内容方式)
2020/05/21 Python
澳大利亚在线时尚精品店:Hello Molly
2018/02/26 全球购物
Molly Bracken法国电子商店:法国女性时尚品牌
2019/07/24 全球购物
华三通信H3C面试题
2015/05/15 面试题
保护环境的建议书
2014/03/12 职场文书
2015年见习期工作总结
2014/12/12 职场文书
校车司机安全责任书
2015/05/11 职场文书
高二英语教学反思
2016/03/03 职场文书
Oracle以逗号分隔的字符串拆分为多行数据实例详解
2021/07/16 Oracle
分布式Redis Cluster集群搭建与Redis基本用法
2022/02/24 Redis