函数名称:PDOStatement::fetchAll()
适用版本:PHP 5, PHP 7
函数描述:该函数用于从结果集中获取所有行作为关联数组、索引数组或二者的组合。
用法:
public array PDOStatement::fetchAll(int $fetch_style = PDO::FETCH_BOTH, mixed $fetch_argument = null, array $ctor_args = array())
参数说明:
$fetch_style
:可选参数,指定返回的数组类型。默认值为PDO::FETCH_BOTH
,可选值有:PDO::FETCH_ASSOC
:返回关联数组。PDO::FETCH_NUM
:返回索引数组。PDO::FETCH_BOTH
:返回关联数组和索引数组的组合。PDO::FETCH_OBJ
:返回匿名对象,属性名对应列名。
$fetch_argument
:可选参数,进一步定制返回的数组类型。根据$fetch_style
参数的不同,该参数的含义也不同。例如,如果$fetch_style
为PDO::FETCH_COLUMN
,则该参数表示要获取的列索引或名称。$ctor_args
:可选参数,用于指定构造函数的参数,用于创建返回结果的对象。
返回值:
- 成功时,返回包含所有行的数组。
- 失败时,返回
false
。
示例:
// 连接到数据库
$dsn = 'mysql:host=localhost;dbname=mydatabase';
$username = 'root';
$password = '';
$pdo = new PDO($dsn, $username, $password);
// 准备并执行查询语句
$stmt = $pdo->prepare('SELECT id, name, email FROM users');
$stmt->execute();
// 获取所有行并以关联数组形式返回
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
// 遍历结果数组
foreach ($result as $row) {
echo $row['id'] . ' ' . $row['name'] . ' ' . $row['email'] . '<br>';
}
在上面的示例中,我们使用了 PDO
类连接到数据库,并准备并执行了一条查询语句。然后,我们使用 PDOStatement::fetchAll()
函数以关联数组形式获取了所有行的结果。最后,我们遍历结果数组并输出了每行的 id、name 和 email 字段的值。