0

我正在查询数据库以获取输入的最新行并仅获取 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 本身?

谢谢

4

2 回答 2

2

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

于 2013-05-09T17:33:33.177 回答
1

而不是选择 max(id) 你必须使用lastInsertId()方法

$id = $db->lastInsertId(); 

在调用插入查询之后

于 2013-05-09T17:25:45.250 回答