PDO只获得一个值

时间:2013-05-09 17:14:37

标签: php sql pdo

我正在查询数据库中输入的最新行并仅获取id列,所以我确信我会得到一个值。但是,我无法打印变量,除非它在foreach循环中,即使访问第0个元素也没有给我任何输出。

我使用这行代码查询添加的最新行ID:$id = $db->query("SELECT MAX(id) FROM FM;");

当我使用foreach循环时,我得到以下输出:

循环:

foreach ($id as $i)
    print_r($i);

输出:

Array ( [MAX(id)] => 20 [0] => 20 )

但是,当我使用print $id[0];print $id["MAX(id)"];时,我收到了HTTP错误500.

如何获取单值id并将其放入变量中,id本身就是?

由于

2 个答案:

答案 0 :(得分:2)

我查看了从PDOStatement函数返回的query引用,找到了返回行数组的fetchAll()方法,并通过以下方法获得了最新的id代码行:$id->fetchAll()[0][0];

答案 1 :(得分:1)

您必须使用lastInsertId()方法

,而不是选择max(id)
$id = $db->lastInsertId(); 

在调用插入查询后立即