English | 简体中文 | 繁體中文
查询

SqlStatementResult::fetchAll()函数—用法及示例

「 从数据库查询结果集中获取所有行作为关联数组、数字索引数组或同时包含关联和数字索引的混合数组 」


函数名称:SqlStatementResult::fetchAll()

适用版本:PHP 5 >= 5.4.0, PHP 7, PHP 8

函数说明:SqlStatementResult::fetchAll() 方法用于从数据库查询结果集中获取所有行作为关联数组、数字索引数组或同时包含关联和数字索引的混合数组。

语法:public SqlStatementResult::fetchAll(int $fetch_style = PDO::FETCH_BOTH, mixed $fetch_argument = NULL, array $ctor_args = array()): array|false

参数:

  1. $fetch_style:可选参数,指定返回的数组类型,默认为 PDO::FETCH_BOTH。可以是以下常量之一:
    • PDO::FETCH_ASSOC:返回关联数组。
    • PDO::FETCH_NUM:返回数字索引数组。
    • PDO::FETCH_BOTH:返回同时包含关联和数字索引的混合数组。
    • PDO::FETCH_OBJ:返回匿名对象,属性名对应列名。
    • PDO::FETCH_CLASS:返回指定类的对象,属性名对应列名。
    • PDO::FETCH_COLUMN:返回指定列的值。
    • PDO::FETCH_KEY_PAIR:返回包含第一列作为键、第二列作为值的关联数组。
    • PDO::FETCH_UNIQUE:返回包含所有行的关联数组,键为第一列的值,值为整个行的关联数组。
    • PDO::FETCH_GROUP:返回包含所有行的关联数组,键为指定列的值,值为该列的所有行的关联数组。
  2. $fetch_argument:可选参数,根据 $fetch_style 的不同,此参数的含义也不同。具体用法请参考官方文档。
  3. $ctor_args:可选参数,当 $fetch_stylePDO::FETCH_CLASS 时,指定类的构造函数参数。

返回值:成功时返回包含所有行的数组,失败时返回 false

示例:

// 假设已经建立了一个数据库连接 $pdo

// 执行查询语句
$stmt = $pdo->query("SELECT * FROM users");

// 获取所有行作为关联数组
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
print_r($result);

// 获取所有行作为数字索引数组
$result = $stmt->fetchAll(PDO::FETCH_NUM);
print_r($result);

// 获取所有行作为同时包含关联和数字索引的混合数组
$result = $stmt->fetchAll(PDO::FETCH_BOTH);
print_r($result);

// 获取所有行作为匿名对象
$result = $stmt->fetchAll(PDO::FETCH_OBJ);
print_r($result);

// 获取所有行作为指定类的对象
$result = $stmt->fetchAll(PDO::FETCH_CLASS, 'User');
print_r($result);

// 获取所有行的第一列的值
$result = $stmt->fetchAll(PDO::FETCH_COLUMN, 0);
print_r($result);

// 获取所有行的第一列作为键,第二列作为值的关联数组
$result = $stmt->fetchAll(PDO::FETCH_KEY_PAIR);
print_r($result);

// 获取所有行的第一列的值作为键,整个行的关联数组作为值的关联数组
$result = $stmt->fetchAll(PDO::FETCH_UNIQUE);
print_r($result);

// 获取所有行的指定列的值作为键,该列的所有行的关联数组作为值的关联数组
$result = $stmt->fetchAll(PDO::FETCH_GROUP);
print_r($result);

注意:上述示例中的 $pdo 是一个已经建立的 PDO 对象,User 是一个自定义的类名。请根据实际情况进行修改。

补充纠错
热门PHP函数
分享链接