无法使PDO回退与PDO :: FETCH_ORI_ABS一起使用

时间:2014-01-22 22:30:33

标签: php mysql pdo

我需要多次扫描变量并使用mysql_data_seek我没有问题。现在我正在尝试PDO,我无法使其工作。

我这样用:

while($rowAssistant = $rowSetAssistantsProject->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_ABS, 0)){ 

但它不会进入while(我猜因为它位于$ rowSetAssistantsProject的末尾)

1 个答案:

答案 0 :(得分:0)

PDO中没有mysql_data_seek,当前的mysql-php连接不支持游标。你应该做的是将你的所有数据拉入一个数组并迭代它。

$rows = $rowSetAssistantsProject->fetchAll(PDO::FETCH_ASSOC);
foreach($rows as $row) {
    // Process rows
}

// Where you would have reset mysql_data_seek back to 0 if it existed

foreach($rows as $row) {
    // More row processing
}

一旦您的数据以数组形式存在,您可以使用像this post这样的reset函数将光标放在数组上。但是上面的代码是我搬到PDO后必须要做的。希望有所帮助。