PHP
数据库 | Database

PDOStatement::fetchAll

PDOStatement::fetchAll

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement :: fetchAll - 返回一个包含所有结果集行的数组

描述

public array PDOStatement::fetchAll ([ int $fetch_style [, mixed $fetch_argument [, array $ctor_args = array() ]]] )

参数

fetch_style

控制PDOStatement :: fetch()中记录的返回数组的内容。默认值为PDO::ATTR_DEFAULT_FETCH_MODE(默认为PDO::FETCH_BOTH

要返回由结果集中的单个列的所有值组成的数组,请指定PDO::FETCH_COLUMN。您可以指定您想要的fetch_argument参数列。

若目的是只获取结果集里单个列的唯一值,则按位或PDO::FETCH_COLUMN(附带PDO::FETCH_UNIQUE

若要返回按指定列的值分组的关联数组,则按位与或PDO::FETCH_COLUMNPDO::FETCH_GROUP

fetch_argument

根据fetch_style参数的值,可将这个参数展开不同的含义:

  • PDO::FETCH_COLUMN:返回指定的0索引列。

  • PDO::FETCH_CLASS:返回指定类的实例,将每行的列映射到类中的命名属性。

  • PDO::FETCH_FUNC: 返回调用指定函数的结果,将每行的列用作调用中的参数。 ctor_args 当fetch_style参数为PDO::FETCH_CLASS时,自定义类构造函数的参数。 返回值 PDOStatement :: fetchAll()返回一个包含结果集中所有剩余行的数组。 该数组将每行表示为列值的数组或具有与每个列名称相对应的属性的对象。 如果获取的结果为零,则返回空数组,如果失败则返回FALSE。 使用这种方法获取较大的结果集将导致产生对系统和可能的网络资源的强烈需求。 不要检索所有数据并使用PHP进行操作,而应考虑使用数据库服务器来处理结果集。 例如,在使用PHP检索和处理结果之前,使用SQL中的WHERE和ORDER BY子句来限制结果。

  • PDO :: query() - 执行一条SQL语句,返回一个结果集作为PDOStatement对象

  • PDOStatement :: fetch() - 从结果集中获取下一行

  • PDOStatement :: fetchColumn() - 返回结果集的下一行中的单个列

  • PDO :: prepare() - 准备执行语句并返回一个语句对象

  • PDOStatement :: setFetchMode() - 为此语句设置默认的获取模式

← PDOStatement::fetch

PDOStatement::fetchColumn →