query("">
当前位置:Gxlcms > PHP教程 > PHPPDOfetch模式各种参数的输出结果一览_php技巧

PHPPDOfetch模式各种参数的输出结果一览_php技巧

时间:2021-07-01 10:21:17 帮助过:50人阅读

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';
},
)
*/

人气教程排行