fetch()方法
fetch()方法用于获取结果集的下一行。语法例如以下:
mixed PDOStatement::fetch([int fetch_style][,int cursor_orientation[,int cursor_offset]]])
參数fetch_style控制结果集的返回方式
PDO::FETCH_ASSOC -- 关联数组形式
PDO::FETCH_NUM -- 数字索引数组形式
PDO::FETCH_BOTH -- 两者数组形式都有。这是缺省的
PDO::FETCH_OBJ -- 依照对象的形式。相似于曾经的 mysql_fetch_object()
PDO::FETCH_BOUND--以布尔值的形式返回结果,同一时候获取的列值赋给bindParam()方法中的指定变量。
PDO::FETCH_LAZY--以关联数组、数字索引数组和对象3种形式返回结果
cursor_orientation:PDOStatement对象的一个滚动游标,可用于获取指定的一行。
cursor_offset: 游标的偏移量
比如:
在PDO中通过预处理语句prepare()和execute()执行SQL查询语句。而且应用while()语句和fetch()方法完毕数据的循环输出
$dbms='mysql';//数据库类型
$dbName='admin';//使用的数据库
$user='root';//数据库连接用户名
$pwd='password';//数据库连接密码
$host='localhost';//数据库主机名
$dsn="$dbms:host=$host;port=3306;dbname=$dbName";
try{
$pdo=new PDO($dsn,$user,$pwd);//初始化一个PDO对象。就是创建了数据库连接对象$pdo
$query="select * from user";//须要执行的sql语句
$res=$pdo->prepare($query);//准备查询语句
$res->execute();
while($result=$res->fetch(PDO::FETCH_ASSOC)){
echo $result['id']." ".$result['username']." ".$result['password'].'<br>';
}
}catch(Exception $e){
die("Error!:".$e->getMessage().'<br>');
}
执行结果为:
1
107lab e10adc3949ba59abbe56e057f20f883e
4 admin 123456
5 admin 123456
fetchAll()方法
fetchAll()方法用于获取结果集中的全部行,其返回值是一个包括结果集中全部数据的二进制数组。语法例如以下:
array
PDOStatement::fetchAll([int fetch_style[,int column_index]])
參数说明:
fetch_style:控制结果集中数据的显示方式。

column_index:
字段的索引。
比如:
$dbms='mysql';//数据库类型
$dbName='admin';//使用的数据库
$user='root';//数据库连接用户名
$pwd='password';//数据库连接密码
$host='localhost';//数据库主机名
$dsn="$dbms:host=$host;port=3306;dbname=$dbName";
try{
$pdo=new PDO($dsn,$user,$pwd);//初始化一个PDO对象,就是创建了数据库连接对象$pdo
$query="select * from user";//须要执行的sql语句
$res=$pdo->prepare($query);//准备查询语句
$res->execute();
$result=$res->fetchAll(PDO::FETCH_ASSOC);
print_r($result);
}catch(Exception $e){
die("Error!:".$e->getMessage().'<br>');
}

执行结果为:
Array
(
[0] => Array
(
[id] => 1
[username] => 107lab
[password] => e10adc3949ba59abbe56e057f20f883e
) [1] => Array
(
[id] => 4
[username] => admin
[password] => 123456
) [2] => Array
(
[id] => 5
[username] => admin
[password] => 123456
) )

此时能够通过foreach来遍历这个二维数组

foreach($result as $val){
echo $val['username'].'<br>';
}

执行结果为:
107lab
admin
admin
fetchColumn()方法
fetchColumn()方法获取结果集中下一行指定列的值。语法例如以下:
string
PDOStatement::fetchColumn([int column_number])
可选參数column_number设置行中列的索引值,该值从0開始。假设省略该參数则将从第1列開始取值
比如:
通过fetchColumn()方法获取结果集中下一行中指定列的值。(或第一列id的值)
$dbms='mysql';//数据库类型
$dbName='admin';//使用的数据库
$user='root';//数据库连接用户名
$pwd='password';//数据库连接密码
$host='localhost';//数据库主机名
$dsn="$dbms:host=$host;port=3306;dbname=$dbName";
try{
$pdo=new PDO($dsn,$user,$pwd);//初始化一个PDO对象,就是创建了数据库连接对象$pdo
$query="select * from user";//须要执行的sql语句
$res=$pdo->prepare($query);//准备查询语句
$res->execute();
echo $res->fetchColumn(0).'<br>';
echo $res->fetchColumn(0).'<br>';
echo $res->fetchColumn(0).'<br>';
}catch(Exception $e){
die("Error!:".$e->getMessage().'<br>');
}

执行结果为:
1
4
5

PDO中获取结果集的更多相关文章

  1. PHP PDO获取结果集

    一.介绍PDO获取结果集,不得不介绍一下PDO是如果执行SQL语句,一般情况下分三种, 1.query()方法 query()方法通常用于返回执行查询后的结果集.语法是这样的:PDOStatement ...

  2. 机器学习数据集,主数据集不能通过,人脸数据集介绍,从r包中获取数据集,中国河流数据集

    机器学习数据集,主数据集不能通过,人脸数据集介绍,从r包中获取数据集,中国河流数据集   选自Microsoft www.tz365.Cn 作者:Lee Scott 机器之心编译 参与:李亚洲.吴攀. ...

  3. 项目中使用Quartz集群分享--转载

    项目中使用Quartz集群分享--转载 在公司分享了Quartz,发布出来,希望大家讨论补充. CRM使用Quartz集群分享  一:CRM对定时任务的依赖与问题  二:什么是quartz,如何使用, ...

  4. Apache Spark 2.2.0 中文文档 - 集群模式概述 | ApacheCN

    集群模式概述 该文档给出了 Spark 如何在集群上运行.使之更容易来理解所涉及到的组件的简短概述.通过阅读 应用提交指南 来学习关于在集群上启动应用. 组件 Spark 应用在集群上作为独立的进程组 ...

  5. 将 数据库中的结果集转换为json格式(三)

    从数据库中得到结果集 public String list() throws Exception { Connection con = null; PageBean pageBean = new Pa ...

  6. C# -- 等待异步操作执行完成的方式 C# -- 使用委托 delegate 执行异步操作 JavaScript -- 原型:prototype的使用 DBHelper类连接数据库 MVC View中获取action、controller、area名称、参数

    C# -- 等待异步操作执行完成的方式 C# -- 等待异步操作执行完成的方式 1. 等待异步操作的完成,代码实现: class Program { static void Main(string[] ...

  7. javaweb从mysql中获取数据验证用户名密码成功跳转,失败重新验证

    要求:validate.jsp页面中获取请求参数(request.getparameter(“name属性的值”)),注意中文参数获取之前要设置请求编码(request.setCharaterEnco ...

  8. java 通过调用存储过程获取结果集

    一般在java中,数据查询是通过Statement, PreparedStatement获取结果集,今天向大家介绍通过CallableStatement调用存储过程,从而获取结果集.        本 ...

  9. Active Directory中获取域管理员权限的攻击方法

    Active Directory中获取域管理员权限的攻击方法         译:by  backlion 0x00 前言 攻击者可以通过多种方式在Active Directory中获得域管理员权限, ...

随机推荐

  1. HttpWebRequest使用证书请求

    HttpWebRequest使用证书请求 //是否使用证书                if (isUseCert)                {                    stri ...

  2. ubuntu系统配置WinQQ

    首先安装Wine sudo add-apt-repository ppa:wine/wine-builds sudo apt-get update sudo apt-get install wineh ...

  3. Python day字符串所有使用

    字符串所有的操作name = "dio"names = "my\t name is {Name} and i am a {job}"print(name.cap ...

  4. 今日SGU 5.8

    SGU 109 题意:一个n*n的矩形,起点在1,1然后每次给你一个操作,走ki步,然后你可以删除任意一个点这次步走不到的,删了就不能再走了,然后问构造这种操作,使得最后删除n*n-1个点 剩下一个点 ...

  5. STM32上使用JSON

    一.STM32工程中添加JSON 最近在一网2串项目,串口和网口之间可能需要定义一下简单的通信协议,而通信协议上则需要去定义一下通信的数据格式,上次听剑锋说要用Json来定义,目前查了下资料具体如何去 ...

  6. 洛谷 P1709 [USACO5.5]隐藏口令Hidden Password

    P1709 [USACO5.5]隐藏口令Hidden Password 题目描述 有时候程序员有很奇怪的方法来隐藏他们的口令.Binny会选择一个字符串S(由N个小写字母组成,5<=N<= ...

  7. ubuntu下sudo命令不再输入密码

    ubuntu下普通用户是没有root权限,很多命令在使用时都需要使用命令sudo 'cmd',但系统需要user验证自己,即需要输入普通用户的密码.但普通用户是否有执行该cmd的权限,需要到系统文件/ ...

  8. jquary依据td中button的元素属性删除tr行(删选出想删除的行)

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcnVveXVhbnlp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...

  9. F的ACM暑期集训计划

    暑假的知识计划(补充中...) 1.数论相关 (7days) 待完成 多项式同余方程/高次同余方程/欧拉函数/克莱姆法则/高斯消元/莫比乌斯反演/伪素数判定/baby-step-gaint-step ...

  10. 你真的懂Flask中浅谈蓝图Blueprint吗?

    一,什么是Flask中的蓝图Blueprint Blueprint是用于实现Flask框架中单个应用的视图,模板,静态文件的集合. Blueprint 是一个存储操作(路由映射)方法的容器,这些操作在 ...