PDO :: FETCH_COLUMN什么都不提取

时间:2013-05-13 19:55:27

标签: php mysql pdo

以下代码为我提供了一个包含$a的数组description

$stmt = $dbh->prepare("SELECT description, id
    FROM money_items");
$stmt->execute();
$a = $stmt->fetchAll(PDO::FETCH_COLUMN, 0);
$id = $stmt->fetchAll(PDO::FETCH_COLUMN, 1);

但是$id数组是空白的。

   Array
   (
   )

如果删除$a = $stmt->fetchAll(PDO::FETCH_COLUMN, 0);行,则$id数组就可以了。我只允许从结果中获取一列吗?

1 个答案:

答案 0 :(得分:1)

您正在寻找的是

$results = $stmt->fetchAll(PDO::FETCH_ASSOC); 

这会将所有列和所有行提取到数组 -

http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers

要回答你的实际问题,我会猜测在语句上调用的FetchAll函数遍历所有行,所以当你获取第二行时,数组中的内部指针就在最后列。