📅  最后修改于: 2023-12-03 14:45:11.395000             🧑  作者: Mango
在 PHP 中,我们经常需要使用到数据库来存储和检索数据。而使用 PDO 扩展提供的 fetchAll() 方法可以极大地简化该过程。本文将介绍 fetchAll() 方法的使用方法和参数,以及常见的使用场景。
fetchAll() 方法可以在执行 PDO 语句后,返回一个包含所有结果行的数组,该数组可以是索引数组,也可以是关联数组,或者二者的结合。
使用 fetchAll() 方法的语法如下:
$pdoStatement->fetchAll(fetch_style);
其中,fetch_style 可选参数用于指定返回的数组类型。默认情况下,fetch_style 为 PDO::FETCH_BOTH,即返回一个既包含数字键又包含关联键的数组。
fetch_style 参数可以是以下常量之一,也可以是它们的组合:
接下来是一个常见的使用场景,读取数据表中的数据。
<?php
$pdo = new PDO('mysql:host=localhost;dbname=mydb', 'username', 'password');
$sql = "SELECT name, email FROM users WHERE status = 'active'";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
在上面的语句中,我们使用了 PDO::FETCH_ASSOC 参数,因此 $results 数组只包含表示列名的关联键。
使用 fetchAll() 方法可以简化从数据库读取数据的过程,只需要一行代码即可返回所有结果行的数组。fetch_style 参数可以指定返回数组的类型,有助于简化后续的处理。
在实际应用中,我们可以根据实际情况选择合适的 fetch_style 参数,可以使用 fetch_assoc() 方法来避免返回的数组包含不必要的数据。
因为 fetchAll() 方法返回的结果是一个数组,所以我们可以根据需要使用 foreach() 枚举数组的每个元素。