PHP PDO fetchAll()vs直接foreach循环

时间:2017-02-08 15:05:40

标签: php pdo fetchall

这两者之间有什么区别:

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

这两种方法之间有什么重大差异吗?

编辑:我只是问,因为两者对我来说似乎都是一样的。

1 个答案:

答案 0 :(得分:2)

唯一的区别是返回记录的前doesn't consume extra memory就像后者一样。

但是,鉴于您通常不应该获取比单个HTML页面上显示的记录更多的记录,因此差异被认为是微不足道的。