需要帮助来理解PDO的结果集

时间:2011-04-16 09:46:52

标签: php mysql pdo

我有以下函数执行PDO查询:

  // removed error handling for presenting here
  function getRows($sql) {
      $stmt = $this->db->query($sql);
      $result = $stmt->fetchAll(PDO::FETCH_ASSOC);          
      return $result;            
    } 
  }

结果是:

Array
(
    [0] => Array
        (
            [id] => 1
            [category] => Audi
        )

    [1] => Array
        (
            [id] => 2
            [category] => BMW
        )

    [2] => Array
        (
            [id] => 3
            [category] => Chrysler
        )

)

以下foreach代码:

foreach($result as $key => $value ) {
  echo $value.'<br/>';
}

输出:

Array
Array
Array

我该怎么做才能返回以下内容?

Audi
BMW
Chrysler

我知道我可以做$value['category]

但这不是我想达到/理解的。我希望结果集是一个数组数组。

2 个答案:

答案 0 :(得分:0)

foreach($result as $key => $value ) {
  echo $value['category'].'<br/>';
}

替代

foreach($result as $k)
{
    echo $k['category'];
}

答案 1 :(得分:0)

foreach循环将数组拆分为键值对。循环中的键是数组的索引,值是包含ID和Category的数组。

要访问该类别,只需执行以下操作:

foreach($result as $key => $value ) {
  echo $value['category'].'<br/>';
}