使用PDO的可遍历界面和不同的fetch_style

时间:2018-04-23 11:28:50

标签: php pdo

PDO允许foreach直接在语句对象上执行,而不使用fetchfetchAll,因为它实现了Traversable interface

$stmt = $pdo->query('SELECT * FROM example');
foreach($stmt as $row){
    //...
}

我已将PDO对象配置为默认使用PDO::FETCH_OBJ返回对象。如果我希望返回数组而不是对象,可遍历的接口方法是否可以使用不同的fetch_style,还是需要显式使用$stmt->fetch(PDO::FETCH_ASSOC)

1 个答案:

答案 0 :(得分:1)

您仍然可以将fetch_mode作为参数传递给查询方法

$stmt = $pdo->query('SELECT * FROM example', PDO::FETCH_ASSOC);