Есть ли разница между этими двумя:
$stmt = $db->prepare('SELECT * FROM ARTICLES');
$stmt->execute();
foreach ($stmt as $article) {
echo $article['title'];
}
а также
$stmt = $db->prepare('SELECT * FROM ARTICLES');
$stmt->execute();
$articles = $stmt->fetchAll();
foreach ($articles as $article) {
echo $article['title'];
}
Есть ли серьезные различия между этими двумя методами?
РЕДАКТИРОВАТЬ: Я просто спрашиваю, потому что оба, кажется, работают одинаково для меня.
Разница лишь в том, что бывший не потребляет дополнительную память для возвращенных записей, как это делает последний.
Однако, учитывая, что в общем случае вам не следует извлекать больше записей, чем может быть показано на одной HTML-странице, разница считается незначительной.
Других решений пока нет …