通过从mysqli表获取最后一个记录ID来增加ID

时间:2018-06-14 04:54:55

标签: php mysqli

我正在尝试从我的Sqli表中获取最后一个Employee ID,增加从表中检索到的id,并将新值与新记录一起插入表中。

由于表格没有得到更新,代码无效。

<form method="POST">
<input type="text" name="brn" placeholder="Branch"/>
<input type="text" name="nam" placeholder="Enter Name"/>
<input type="submit" name="insert">
<?php
$db=mysqli_connect("localhost","root","","test");
session_start();
if(isset($_POST['insert']))
{
    $brn = $_POST['brn'];
    $nam = $_POST['nam'];
    $qry = "SELECT * FROM emp";
    $result=mysqli_query($db,$qry);
    $row = mysqli_fetch_array($result);
    $empid= $row["empid"];
    $empid++;

    $query = "INSERT INTO `emp`(`brn`,`nam`,'empid') VALUES ('$brn','$nam','$empid')";
    mysqli_query($db,$query);

    mysqli_close($db);
}
?>
</form>

2 个答案:

答案 0 :(得分:0)

您的代码需要进行一些更改。 您正在选择第一个&#34; EmpId&#34; 而不是最后一个,如果您将列empid作为主键,则会显示主键违规错误。 因此,请将您的查询更改为:

$qry = "SELECT * FROM emp order by empid desc limit 1";

将返回一行。

而且,如果您只需要 last empid ,那么我建议您只使用:

$qry = "SELECT empid FROM emp order by empid limit 1";

这是 更具资源效率的查询。

****快乐编码。****

答案 1 :(得分:0)

你可以试试这个。我希望它会对你有所帮助。

$sql = "INSERT INTO `emp`(`brn`,`nam`,'empid') VALUES ('$brn','$nam','$empid')";
if(mysqli_query($db, $sql)){
    $last_id = mysqli_insert_id($db);
    echo "Records inserted successfully. Last inserted ID is: " . $last_id;
} else{
    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}