首页 > 编程笔记 > PHP笔记 阅读:2

PHP PDO fetchAll()的用法(附带实例)

在 PHP 中,使用 query() 方法执行 SQL 语句后,返回的结果是 PDOStatement 类对象。通过 PDOStatement类对象可以对结果集进行处理,常用的处理结果集的方法有 fetch()、fetchColumn() 和 fetchAll()。

fetchAll() 方法用于获取结果集中的所有行数据,其基本语法格式如下:
array PDOStatement::fetchAll (
int $mode,                          // 返回方式(可选参数)
mixed $fetch_argument,              // 可滚动游标(可选参数)
    array $ctor_args = array()  // PDO::FETCH_CLASS的参数(可选参数)
)
在上述语法格式中:
表:$mode 的可选值作用
可选值 作用 返回值
PDO::FETCH_COLUMN 提取结果集中的单个列的值 返回指定索引位置的列值,索引从 0 开始计数
PDO::FETCH_CLASS 将结果集中的数据映射为指定类的对象 返回一个指定类的对象,其中的属性会被赋值为结果集中对应的列值
PDO::FETCH_FUNC 使用自定义的回调函数处理结果集中的每一行数据 返回回调函数处理后的结果

下面演示如何使用 fetchAll() 方法处理结果集。用fetchAll() 方法以关联数组形式获取结果集,示例代码如下:
<?php
$dsn = 'mysql:host=localhost;port=3306;dbname=myframe;charset=utf8mb4';
$pdo = new PDO($dsn, 'root', '123456');
$sql = 'SELECT `id`, `name` FROM `student` LIMIT 2';
$res = $pdo->query($sql);
$data = $res->fetchAll(PDO::FETCH_ASSOC);
print_r($data);
上述代码的输出结果如下:

Array ( 
  [0] => Array ( [id] => 1 [name] => Allen )
  [1] => Array ( [id] => 2 [name] => James )
)

相关文章