PHP PDO fetchAll () против прямого цикла foreach

Есть ли разница между этими двумя:

$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'];
}

Есть ли серьезные различия между этими двумя методами?

РЕДАКТИРОВАТЬ: Я просто спрашиваю, потому что оба, кажется, работают одинаково для меня.

2

Решение

Разница лишь в том, что бывший не потребляет дополнительную память для возвращенных записей, как это делает последний.

Однако, учитывая, что в общем случае вам не следует извлекать больше записей, чем может быть показано на одной HTML-странице, разница считается незначительной.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]