php教程

超轻量级php框架startmvc

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

更新时间:2020-03-01 23:15:27 作者:startmvc
PDO的fetch模式功能实在是太方便了,但每次要产生想要的结果都要试太麻烦了,这里列出可

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 PDO fetch模式