0

我正试图围绕 PDO 进行思考。为什么 $lastid 不输出任何东西?

function renderRoot($db){
    $sql = "INSERT INTO nodes (name) VALUES ('/');";
    $response = $db->query($sql);
    $lastid = $db->lastInsertId();
    echo $lastid;
    return;
}

该代码向表中添加了一个值,并且它有一个名为 id 的列,该列是递增的。

这是我的 sql(postgresql):

$nodetable = "create table nodes (
    id serial primary key,
    parentid integer references nodes(id ),
    name varchar
);";
4

1 回答 1

0

在 postgresql 中, lastInsertId() 接受一个参数,在你的情况下,是序列的名称,即 nodes_id_seq

$lastid = $db->lastInsertId('nodes_id_seq');

否则,它将返回最后一个 oid(如果有)。

于 2013-11-14T11:23:35.033 回答