获取最后一次插入的ID

时间:2016-03-02 00:41:47

标签: php mysql sql mysqli

我正在实施自动保存功能,该功能可以在正在编辑或创建的表单上保存每一分钟。

我正在事先在自动递增的db表中插入null值。在null插入后,我需要检索插入的id,以便我可以更新该ID。如何使用我提供的代码获取此ID?

我尝试使用mysqli_insert_id,如下所示,但没有运气。

// insert null into database to create the save point
if ($stmt = $mysqli->prepare("INSERT INTO test_table (name, email, notes) VALUES ('x', 'x', 'x')"))
{
    $stmt->execute();
    $stmt->close();
}
// show an error if the query has an error
else
{
    echo "ERROR: Could not prepare Auto-Save SQL statement.";
}

//GET LAST ID
printf("Last inserted record has id %d\n", mysqli_insert_id());

2 个答案:

答案 0 :(得分:3)

发布为community wiki

printf ("New Record has id %d.\n", mysqli_insert_id($mysqli));

您没有将数据库连接传递给它。

参考:

面向对象的风格

  

混合$ mysqli-> insert_id;

程序风格

  

混合mysqli_insert_id(mysqli $ link)

答案 1 :(得分:-1)

//此查询将获取特定表的自动增量值

SELECT `AUTO_INCREMENT`
FROM  INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'dbname'
AND   TABLE_NAME   = 'tblname';