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中利用substr_replace将指定两位置之间的字符替换为*号

复制代码 代码如下: $username = "zongzi"; echo substr_replace($username,'**','1','2');...

用php实现的下载css文件中的图片的代码

作为一个资深并且专业的扒皮人员,在我从初三开始投入伟大的互联网中到现在积累了丰富的扒皮经验。我相信每个做web的程序员也都会有类似的经历。 在扒皮过程中,必不可少的需要下载样式文件中的图...

php实现的返回数据格式化类实例

本文实例讲述了php实现的返回数据格式化类及其用法,在字符串处理中非常具有实用价值。分享给大家供大家参考。具体方法如下: DataReturn.class.php类文件如下: <...

php实现计数器方法小结

本文实例讲述了php实现计数器的方法。分享给大家供大家参考。具体如下: 这里收藏了三款php计数器代码,他们三个都有一个同共点就是全部无需数据库,而是利用了文本文件来实现网页浏览计数....

PHP无限分类的类

复制代码 代码如下:<?php /**  * @author        YangHuan &nb...