我正在尝试从MySQL的SELECT语句转换到PDO语句,但遇到了问题。我想要对一个获取的数组进行两次迭代,两次都从第一行开始。在MySQL中,我会使用:
mysql_data_seek($result,0);
我使用PDO方法,但不确定如何完成相同的操作。下面的代码是我尝试这样做的方式。第一个while循环正常工作,但第二个while循环没有返回任何内容。
$pdo = new PDO('mysql:host=' . $host . ';dbname='.$database, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $pdo->prepare('SELECT * FROM mytable WHERE active = 1 ORDER BY name ASC');
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$stmt->execute();
while($row = $stmt->fetch())
{
//do something starting with row[0]
}
while($row = $stmt->fetch())
{
//do something else starting with row[0]
}