函数名:RowResult::fetchAll()
适用版本:PHP 8.0.0 及以上版本
用法:RowResult::fetchAll() 函数用于从数据库查询结果集中获取所有行,并以数组的形式返回。
语法:array RowResult::fetchAll(int $fetch_style = PDO::FETCH_BOTH, mixed $fetch_argument = NULL, array $ctor_args = array())
参数:
返回值:返回一个包含所有行的数组,每行都是一个关联数组或索引数组,具体格式取决于 $fetch_style 参数的取值。
示例:
// 假设有一个名为 $stmt 的 PDOStatement 对象表示查询结果集
// 使用默认参数,返回关联数组和索引数组
$rows = $stmt->fetchAll();
foreach ($rows as $row) {
echo $row['column1'] . ' - ' . $row[1] . "\n";
}
// 返回关联数组
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($rows as $row) {
echo $row['column1'] . ' - ' . $row['column2'] . "\n";
}
// 返回索引数组
$rows = $stmt->fetchAll(PDO::FETCH_NUM);
foreach ($rows as $row) {
echo $row[0] . ' - ' . $row[1] . "\n";
}
// 返回匿名对象
$rows = $stmt->fetchAll(PDO::FETCH_OBJ);
foreach ($rows as $row) {
echo $row->column1 . ' - ' . $row->column2 . "\n";
}
// 返回指定类的对象
class MyClass {
public $column1;
public $column2;
}
$rows = $stmt->fetchAll(PDO::FETCH_CLASS, 'MyClass');
foreach ($rows as $row) {
echo $row->column1 . ' - ' . $row->column2 . "\n";
}
注意:RowResult::fetchAll() 函数是 PDOStatement 类的方法,因此需要先创建一个 PDOStatement 对象来调用该方法。示例中的 $stmt 变量表示一个 PDOStatement 对象。