0

下面的代码给了我一个$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数组会很好。我只能从结果中获取一列吗?

4

1 回答 1

1

你要找的是

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

这会将所有列和所有行获取到一个数组 -

http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers

不过,要回答您的实际问题,我 猜想语句上调用的 FetchAll 函数会遍历所有行,因此当您获取第二列时,数组中的内部指针位于末尾。

于 2013-05-13T21:10:36.140 回答