我正在尝试从我的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>
答案 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);
}