当我们在WHERE
查询中有SELECT
条件时,我们可以使用PDO的准备语句:
$sth = $db->prepare("SELECT name FROM mytable WHERE id > :id");
$sth->execute( array(":id"=>2) );
$result = $sth->fetchAll(PDO::FETCH_ASSOC);
因此我们获得变量$result
,其类型为array
。
但是当我们没有WHERE
条件时,我们不需要准备声明吗?我们只使用query
$result = $db->query("SELECT name FROM books");
但现在,$result
类型不是array
,而是pdostatement
。
在这种情况下,获取array
类型(而不是pdostatement
)的最佳方法是什么?
答案 0 :(得分:1)
$result = $db->query("SELECT name FROM books")->fetchAll(PDO::FETCH_ASSOC);
换句话说,$db->query()
同时执行prepare()
和execute()