PHP PDO fetch 模式各种参数的输出结果一览

yipeiwu_com6年前PHP代码库

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+ajax实现商品对比功能示例

本文实例讲述了php+ajax实现商品对比功能。分享给大家供大家参考,具体如下: 商品对比调用的JS文件(包含了商品对比框浮动JS): /*浮动窗口*/ (function(){...

PHP类和对象相关系统函数与运算符小结

本文总结了PHP类和对象相关系统函数与运算符。分享给大家供大家参考,具体如下: 系统函数 class_exists() 判断某个类是否存在...

PHP使用imagick扩展实现合并图像的方法

PHP使用imagick扩展实现合并图像的方法

本文实例讲述了PHP使用imagick扩展实现合并图像的方法。分享给大家供大家参考,具体如下: 女朋友做外贸的,最近需要做个产品册,要求是每张A4纸上有20个图片,我心想小case吧,哥...

WordPress中邮件的一些修改和自定义技巧

更改邮件内容类型为 HTML 在 WordPress 中发送邮件需要使用 wp_mail() 函数,但是邮件内容默认的类型却是“text/plain”,也就是不支持 HTML。 如果你想...

学习php设计模式 php实现原型模式(prototype)

学习php设计模式 php实现原型模式(prototype)

一、意图 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 二、原型模式结构图 三、原型模式中主要角色 抽象原型(Prototype)角色:声明一个克隆自身的接口 具体原...