我想将 mysql_data_seek 与来自 google 搜索的 PDO 一起使用我发现它应该如下所示:
$row0 = $result->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_ABS, 0);
但这不起作用,我做错了什么?
这是我的代码:
$query = "SELECT name,age FROM users";
$q = $db->prepare($query);
$q->execute();
$q->setFetchMode(PDO::FETCH_ASSOC);
$arrayData = $q->fetchAll();
foreach ($arrayData as $row){
echo $row['name'] ." ";
echo $row['age'] ."<br>";
}
$result = $q->fetch(PDO::FETCH_OBJ,PDO::FETCH_ORI_ABS,4);
var_dump($result);
我只想从上次运行的查询中获取对象形式的第五行。我不想再次运行这个查询(正如一些人告诉我的那样)我只想要 sql 缓冲区的结果。
var_dump 结果是:bool(false)
有任何想法吗?
EDIT:
感谢您的回答,抱歉,但也许我也没有解释自己。我喜欢 JSON 的技巧,但重点是第五行是示例。我只想将缓冲区中的查询结果与 PDO 一起使用,就像我在常规 mysql 中使用 mysql_data_seek 所做的那样(更改游标)。是否可以?我喜欢所有的技巧,但这不是我想要的。
PDO“光标”默认值是PDO::CURSOR_FWDONLY这意味着光标不能像 mysql_data_seek 那样回零,以允许光标回零,有必要定义使用“可滚动光标”
例子:
$db->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
在像这样使用之前:
$row0 = $result->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_ABS, 0);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)