对于实时循环,fetchall
的替代方法是什么?
考虑一下:
$query = $db->prepare("SELECT * FROM record WHERE status = 0");
$query->execute();
$Record = $query->fetchall(PDO::FETCH_ASSOC);
foreach ($Record as $row) {
echo $row['name'];
sleep(5)
}
在循环和echo
时,我从控制台更新了status = 1
,但它仍会显示不应该记录的记录。
答案 0 :(得分:4)
简单的fetch()
:http://us3.php.net/manual/en/pdostatement.fetch.php
$query = $db->prepare("SELECT * FROM record WHERE status = 0");
$query->execute();
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
echo $row['name'];
sleep(5)
}
答案 1 :(得分:1)
运行查询时,将计算一次查询结果。如果您需要使用status = 0
获取所有新结果,则需要重新运行查询。