从PDO的查询方法获取数组结果类型

时间:2013-01-25 21:06:44

标签: php mysql pdo

当我们在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)的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

$result = $db->query("SELECT name FROM books")->fetchAll(PDO::FETCH_ASSOC);

换句话说,$db->query()同时执行prepare()execute()