PHP PDO fetch 模式各种参数的输出结果一览_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';  
   },  
)  
*/  

时间: 2024-08-30 12:11:07

PHP PDO fetch 模式各种参数的输出结果一览_php技巧的相关文章

PHP 命令行参数详解及应用_php技巧

复制代码 代码如下: # 不带参数的执行格式 php安装目录/bin/php scriptname.php # 带参数的执行格式 php安装目录/bin/php scriptname.php [参数1] [参数2] ..... 在scriptname.php通过$argv和$argc访问参数 # $argv(正式写法$_SERVER['argv'])数组保存着传递的全部参数,需要注意的是第一个参数$argv[0] / $_SERVER['argv'][0] 为执行脚本的名称如, scriptna

PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例_php技巧

获取页面内容,不直接输出到页面,CURLOPT_RETURNTRANSFER参数设置    使用PHP curl获取页面内容或提交数据,有时候希望返回的内容作为变量储存,而不是直接输出.这个时候就必需设置curl的CURLOPT_RETURNTRANSFER选项为1或true. 1.curl获取页面内容, 直接输出例子: 复制代码 代码如下: <?php $url = 'http://www.jb51.net'; $ch = curl_init(); curl_setopt($ch, CURLO

工厂模式在Zend Framework中应用介绍_php技巧

首先我们先引用些概念: 工厂模式:专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有其同的父类.工厂模式属于类的创建模式,通常根据自变量的不同返回不同类的实例. 工厂模式的实质是由一个工厂类根据传入的参量,动态决定应该创建出哪一个产品的实例.工厂模式式涉及到工厂角色.抽象产品角色和具体产品角色. 工厂(Creator)角色:是工厂模式的核心,它负责实现创建所有实例的内部逻.工厂类可以被外界直接调用,创建所需产品对象. 抽象产品(Product)角色:是工厂模式所创建所有对象的父类,它负

JS与PHP向函数传递可变参数的区别实例代码_php技巧

# JS 调用函数传递可变参数的方法 复制代码 代码如下: <script> function test() { for(var i = 0;i < arguments.length; i++) { alert(arguments[i]); } } //调用函数 test(1, 2, 3, 'abc'); </script> # PHP 调用函数传递可变参数的方法 复制代码 代码如下: <?php //方法一 //接收一系列参数,并逐一输出 function show_

php加速器eAccelerator的配置参数、API详解_php技巧

它还能够对脚本进行优化以便加速它们的执行速度.利用eAccelerator可以减少服务器的负载并提高PHP代码的执行时间. eAccelerator配置选项: 复制代码 代码如下: zend_extension_ts="X:Appphp-5.2.13-Win32exteaccelerator.dll"eaccelerator.shm_size="32″eaccelerator.cache_dir="X:Appphp-5.2.13-Win32 emp"eac

PHP对象、模式与实践之高级特性分析_php技巧

本文实例讲述了PHP面向对象程序设计高级特性.分享给大家供大家参考,具体如下: 高级特性 包括: 1.静态方法和属性(通过类而不是对象来访问数据和功能) 2.抽象类和接口(设计,实现分离) 3.错误处理(异常) 4.Final类和方法(限制继承) 5.拦截器(自动委托) 6.析构方法(对象销毁前的清理工作) 7.克隆对象(创建对象的副本) 8.把对象解析成字符串 PS,学会从内存的角度看代码.想象计算机的微观世界. 静态方法的小例子 <?php class StaticExample{ stat

php将文本文件转换csv输出的方法_php技巧

本文实例讲述了php将文本文件转换csv输出的方法.分享给大家供大家参考.具体实现方法如下: 这个类提供了转换成固定宽度的CSV文件,快速,简便的方法,它可将SplFileObject用于执行迭代,使它非常高效的一个迭代只知道当前成员,期权是提供给指定行字符和字段分隔符结束,This from CSV files.这个类是特别有用的,如果数据需要来自一个固定宽度的文件,并插入到数据库中,因为大多数的数据库支持从CSV文件中的数据输入. 这一类的方便的功能是可以跳过字段如果不是在输出需要,该领域的

php实现字符串反转输出的方法_php技巧

本文实例讲述了php实现字符串反转输出的方法.分享给大家供大家参考.具体分析如下: php中带有一个很简单的函数用于字符串反转,即strrev() <?php print strrev('This is not a palindrome.'); ?> 输出结果如下 .emordnilap a ton si sihT 希望本文所述对大家的php程序设计有所帮助. 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php ,

golang与PHP输出excel示例_php技巧

本文实例讲述了golang与PHP输出excel的方法.分享给大家供大家参考,具体如下: 以前输入excel的时候utf8总是乱码还是用其他方式把utf8转换为gbk才能显示,呵呵,其实是输出了csv,后来群里的朋友说需要utf8 BOM Excel才能正常识别utf8,今天测试了一下,很爽,比以前省了好几行代码. golang实现: 复制代码 代码如下: package main import (     "os"     "encoding/csv" ) fun