fetchAll() - 真的有必要吗?
fetchAll() - Is really necessary?
示例 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 的新手,我看不出这两个示例之间的区别。
这有点取决于你想对结果做什么。
您从两者中获得的实际数据结构非常不同,但您可能会问这个问题,因为两者都可以使用 foreach
循环遍历结果。
但是 fetchAll()
returns 是一个纯 PHP 数组,而 query
returns 是一个具有隐藏内部结构的 PHP 对象。您可以(例如)调用 json_encode 的两者之一。
通常直接遍历 PDOStatement 可能会快一点,因为您没有创建(可能很大的)中间数组。
示例 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 的新手,我看不出这两个示例之间的区别。
这有点取决于你想对结果做什么。
您从两者中获得的实际数据结构非常不同,但您可能会问这个问题,因为两者都可以使用 foreach
循环遍历结果。
但是 fetchAll()
returns 是一个纯 PHP 数组,而 query
returns 是一个具有隐藏内部结构的 PHP 对象。您可以(例如)调用 json_encode 的两者之一。
通常直接遍历 PDOStatement 可能会快一点,因为您没有创建(可能很大的)中间数组。