很久以前问过,但目前有另一种解决方案。
该方法可以接收具有常数PDOStatement::fetch()
之一的第二参数,即光标方向。这些参数仅在使用as属性创建PDO::FETCH_ORI_*
时才有效。PDOStatement
PDO::ATTR_CURSOR
PDO::CURSOR_SCROLL
这样,您可以按如下方式导航。
$sql = "Select * From Tabela";
$statement = $db->prepare($sql, array(
PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL,
));
$statement->execute();
$statement->fetch(PDO::FETCH_BOTH, PDO::FETCH_ORI_NEXT); // return next
$statement->fetch(PDO::FETCH_BOTH, PDO::FETCH_ORI_PRIOR); // return previous
$statement->fetch(PDO::FETCH_BOTH, PDO::FETCH_ORI_FIRST); // return first
$statement->fetch(PDO::FETCH_BOTH, PDO::FETCH_ORI_LAST); // return last
$statement->fetch(PDO::FETCH_BOTH, PDO::FETCH_ORI_ABS, $n); // return to $n position
$statement->fetch(PDO::FETCH_BOTH, PDO::FETCH_ORI_REL, $n); // return to $n position relative to current
文档和PDO 预定义常量中的更多信息。
注意:使用PDO::FETCH_BOTH
是因为是默认设置,只需为您的项目自定义即可。