fetchAll() - 真的有必要吗?

问题描述 投票:0回答:1

例1°:

$stmt = 'SELECT * FROM table ORDER BY id DESC LIMIT 2';
$Dp = $conn->query($stmt)->fetchAll();

例2°:

$stmt = 'SELECT * FROM table ORDER BY id DESC LIMIT 2';
$Dp = $conn->query($stmt);

两个例子之间有什么区别?我是PDO的新手,我看不出两个例子之间的区别。

pdo fetchall
1个回答
1
投票

这有点取决于你想对结果做什么。

你从中得到的实际数据结构是非常不同的,但你可能会问这个问题,因为你可以用foreach循环结果。

fetchAll()返回一个纯PHP数组,其中query返回一个隐藏内部的PHP对象。你可以(例如)调用json_encode的两个中的一个。

通常直接在PDOStatement上循环可能会快一些,因为您没有创建(可能很大的)中间数组。

© www.soinside.com 2019 - 2024. All rights reserved.