Php 重置PDO中的光标位置
我知道它不需要两次获取数据。但我的主要问题是如何在PDO中重置光标位置?AFAIK无法使用PDO重置光标位置-这可能与某些不支持重置内部光标的数据库的兼容性有关 如果要在结果上迭代两次,请将其提取到数组中并在此数组上迭代:Php 重置PDO中的光标位置,php,mysql,pdo,Php,Mysql,Pdo,我知道它不需要两次获取数据。但我的主要问题是如何在PDO中重置光标位置?AFAIK无法使用PDO重置光标位置-这可能与某些不支持重置内部光标的数据库的兼容性有关 如果要在结果上迭代两次,请将其提取到数组中并在此数组上迭代: $data=$stmt->fetchAll(); //Dumping the data shows the result. It is also setting the cursor at the end while($data=$stmt->fetch())
$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
}
如果您不需要两次获取数据,那么为什么要重置光标位置?@YourCommonSense您肯定没有领会我的意思。我想知道如何在PDO中重置光标。这种向下投票根本没有道理。有什么类似于PDO的用法吗?您可以使用上面链接的PDO::fetch_ORI_ABS
标志对PDOStatement::fetch
方法使用其他参数,但这不适用于MySQL@fallenAngel MySQL不支持游标。因此,即使PDO支持它们(如果有的话),您也不能将它们与Mysql一起使用@djot:评论晚了,但MySQL不支持游标,正如今天一样,当你发表评论时,这句话是错误的:
<?php
$results = $stmt->fetchAll();
foreach($results as $row) {
// first
}
foreach($results as $row) {
// second
}