从头开始重申 PDO 获取结果
在 PHP 的 PDO 扩展中,在尝试多次迭代获取的数组时可能会遇到挑战,每次从第一行开始。与 MySQL 的 mysql_data_seek 方法不同,PDO 缺少手动重置数组指针的直接等效方法。
要克服这个问题,您可以利用另一种方法,将结果存储在数组中。下面是一个修改后的代码片段,演示了这一点:
<code class="php"><?php $pdo = new PDO('mysql:host=' . $host . ';dbname='.$database, $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $pdo->prepare('SELECT * FROM mytable WHERE active = 1 ORDER BY name ASC'); $stmt->setFetchMode(PDO::FETCH_ASSOC); $stmt->execute(); // Store the results in an array $rows = $stmt->fetchAll(); // First iteration foreach ($rows as $r) { // Perform desired actions starting from the first row } // Second iteration foreach ($rows as $r) { // Perform additional actions starting from the first row again } ?></code>
通过将结果存储在 $rows 中,您可以有效地创建完整结果集的快照。这允许您多次迭代数组,确保每次迭代都从第一行开始。这种方法提供了更大的多功能性,并且无需手动操作指针,使其适合各种用例。
以上是如何从头开始多次迭代 PDO 获取结果?的详细内容。更多信息请关注PHP中文网其他相关文章!