如何获取新插入的行的ID?

时间:2017-08-02 20:08:37

标签: php mysql mysqli

我目前正在研究学校项目,正在开发一个简单的讨论论坛。我现在有一个问题,一旦用户提出问题,我想获得用户新插入的行的ID,我还想将id传递给另一个页面然后显示问题。当你将问题发布到另一个页面并显示它时,我真正想要的是与此stackoverflow类似的东西。请问如何实现这一点,欢迎任何帮助。 id是自动增量

<?php
if(isset($_POST["title"]) && isset($_POST["question"]) ){
$title = $_POST["title"];
$ask = $_POST["question"];

$sql = $con->prepare("insert into question(userid,title,question)values(?,?,?)");
$sql->bind_param('iss',$userid,$title,$ask);
$sql->execute();
$sql->close();
  }?>

我只是使用代码发布问题,但我不知道接下来会发生什么。

1 个答案:

答案 0 :(得分:0)

您可以从以下网址获取:

  

来自mysqli::$insert_id的手册:

     

mysqli::$insert_id - mysqli_insert_id - 返回最新查询中使用的自动生成的ID

$sql->insert_id();

要传递到其他页面,您可以将最后插入的ID设置为会话变量并稍后获取。一种方式是这样的:

<强> insert.php

<?php
    session_start();
    // Other codes

    $sql->execute();
    $_SESSION["last_id"] = $sql->insert_id();

在下一个文件中......

<强> next.php

<?php
    session_start();
    // Other codes

    $sql->execute();
    $_SESSION["last_id"]; // has the previous inserted ID.