gpt4 book ai didi

php - 重置 PDO 中的光标位置

转载 作者:行者123 更新时间:2023-11-29 18:52:44 25 4
gpt4 key购买 nike

$data=$stmt->fetchAll(); //Dumping the data shows the result. It is also setting the cursor at the end

while($data=$stmt->fetch())
{
//Does not enters loop
//If fetchAll() removes it work as usual
}

我知道它不需要两次获取数据。但我的主要问题是如何在 PDO 中重置光标位置?

最佳答案

据我所知,无法使用 PDO 重置光标位置 - 这可能与某些不支持重置内部光标的数据库的兼容性有关。

如果您想对结果进行两次迭代,请将其获取到数组并迭代此数组:

<?php 
$results = $stmt->fetchAll();
foreach($results as $row) {
// first
}

foreach($results as $row) {
// second
}

编辑 某些数据库支持可滚动游标。要使用它,请将 PDO::CURSOR_SCROLL 标志添加到 prepare 方法(请参阅 PDOFetch documentation page 中的示例)。但这只会增加前进或后退的可能性,而不会完全倒带。此外,并非所有数据库都支持该类型的游标(例如 MySQL 不支持)。

关于php - 重置 PDO 中的光标位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44303224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com