因此,我们知道PDO::query()
返回PDOStatement object
而PDOStatement
类实现Traversable
,因此它允许我们使用{{1}循环访问它的对象循环:
foreach
代码很干净。 (我知道由于使用$db = new PDO($dsn, $dbusername, dbpassword);
$sql = 'SELECT name, surname, gender FROM students';
$stmt = $db->query($sql);
foreach($stmt as $row){
echo $row['name'] . "<br>";
echo $row['surname'] . "<br>";
echo $row['gender'] . "<br>";
}
的安全问题可以创建,我们都应该忠实于query()
和prepare()
。)
我的问题是,当我们在不使用它的情况下获得相同的结果时,为什么我们懒得使用excecute()
来检索数据。在我看来,这是一个额外的步骤。
答案 0 :(得分:0)
fetch()
仍然是最熟悉和最简单的方法。