【问题标题】:Obtain array result type, from PDO's query method获取数组结果类型,来自 PDO 的查询方法
【发布时间】:2013-01-25 21:06:44
【问题描述】:

当我们在SELECT查询中有WHERE条件时,我们可以使用PDO的prepare语句:

    $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)的最佳方法是什么?

【问题讨论】:

    标签: php mysql pdo


    【解决方案1】:
    $result = $db->query("SELECT name FROM books")->fetchAll(PDO::FETCH_ASSOC);
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-25
      • 1970-01-01
      • 2016-10-06
      • 2023-03-11
      相关资源
      最近更新 更多