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 相关文章推荐
destoon实现调用热门关键字的方法
Jul 15 PHP
PHP页面实现定时跳转的方法
Oct 31 PHP
详解PHP对象的串行化与反串行化
Jan 24 PHP
Zend Framework教程之MVC框架的Controller用法分析
Mar 07 PHP
解读PHP的Yii框架中请求与响应的处理流程
Mar 17 PHP
PHP 中使用explode()函数切割字符串为数组的示例
May 06 PHP
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
Jun 27 PHP
Laravel5.5新特性之友好报错以及展示详解
Aug 13 PHP
PHP生成推广海报的方法分享
Apr 22 PHP
PHP观察者模式实例分析【对比JS观察者模式】
May 22 PHP
php异常处理捕获错误整理
Sep 23 PHP
Laravel 框架路由原理与路由访问实例分析
Apr 14 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中去掉字符串首尾空格的方法
2012/05/19 PHP
PHP 5.3新增魔术方法__invoke概述
2014/07/23 PHP
php发送邮件的问题详解
2015/06/22 PHP
PHP常见数组排序方法小结
2018/08/20 PHP
javascript 二分法(数组array)
2010/04/24 Javascript
jQuery移动和复制dom节点实用DOM操作案例
2012/12/17 Javascript
节点的插入之append()和appendTo()的用法介绍
2014/01/13 Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
2014/05/01 Javascript
鼠标左键单击冲突的问题解决方法(防止冒泡)
2014/05/14 Javascript
Javascript 实现图片无缝滚动
2014/12/19 Javascript
封装好的javascript前端分页插件pagination
2016/01/04 Javascript
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
2016/01/26 Javascript
jQuery中通过ajax调用webservice传递数组参数的问题实例详解
2016/05/20 Javascript
JavaScript之map reduce_动力节点Java学院整理
2017/06/29 Javascript
ReactJS实现表单的单选多选和反选的示例
2017/10/13 Javascript
Vue实现本地购物车功能
2018/12/05 Javascript
举例讲解Python的lambda语句声明匿名函数的用法
2016/07/01 Python
Python数据分析之真实IP请求Pandas详解
2016/11/18 Python
python实现NB-IoT模块远程控制
2018/06/20 Python
python打印9宫格、25宫格等奇数格 满足横竖斜相加和相等
2019/07/19 Python
用Python画一个LinkinPark的logo代码实例
2019/09/10 Python
Python 中pandas索引切片读取数据缺失数据处理问题
2019/10/09 Python
Python函数参数类型及排序原理总结
2019/12/19 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
Python是什么 Python的用处
2020/05/26 Python
AmazeUI框架搭建的方法步骤(图文)
2020/08/17 HTML / CSS
我们没有写servlet的构造方法,那么容器是怎么创建servlet的实例呢
2013/04/24 面试题
农民入党思想汇报
2014/01/03 职场文书
实习单位接收函模板
2014/01/10 职场文书
演讲稿开场白
2014/01/13 职场文书
保安队长职务说明书
2014/02/23 职场文书
如何写自我鉴定
2014/03/19 职场文书
求职自我评价范文100字
2014/09/23 职场文书
python实现简单的聊天小程序
2021/07/07 Python
Ruby使用Mysql2连接操作MySQL
2022/04/19 Ruby
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技