示例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的新手,我看不到两个示例之间的区别。
答案 0 :(得分:1)
这取决于您要如何处理结果。
您从任何一个中获得的实际数据结构完全不同,但是您可能会问这个问题,因为两者都可以使用foreach
遍历结果。
但是fetchAll()
返回一个纯PHP数组,而query
返回一个带有隐藏内部结构的PHP对象。您可以(例如)调用json_encode中的两个。
通常,直接循环遍历PDOStatement可能会更快一些,因为您没有创建(可能很大)中间数组。