MySQL中的PHP自动递增ID与存储的ID不同

时间:2019-03-15 15:29:17

标签: php mysql

因此在我的网页上,我进行了数据库连接设置。 用户在网页上发布评论后,会将评论添加到数据库中,数据库中名为ID的列将增加1。 此ID用作数据库中每一行的主键。 因此,当用户要删除注释时,它将在数据库中检查具有匹配主键的注释。

我当前的解决方案是这个。

将评论添加到数据库

数据库添加ID

从数据库中获取ID

将其与注释一起存储在数组中

当用户单击删除评论时,请检查评论ID是否与数据库中的ID匹配。

我的问题是,调用数据库添加评论,然后再次调用数据库以获取评论ID感觉很奇怪。

对此有更好的解决方案吗?

2 个答案:

答案 0 :(得分:0)

下面,我根据您的问题添加了一些代码。假设您有一个名为评论的表,您将在其中插入一些值,并且由于id是一个自动递增的字段,因此它将与传递的数据一起自动插入。因此,如果您尝试使用 php mysql ,那么在插入操作之后,您可以轻松获取最后插入的ID,而无需使用$conn->insert_id < / p>

$sql = "INSERT INTO comments(commenter, comment)
VALUES ('John', 'How are you?')";

if ($conn->query($sql) === TRUE) {
    $last_id = $conn->insert_id;
    echo "New record created successfully. Last inserted ID is: " . $last_id;
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

参考号http://php.net/manual/en/mysqli.insert-id.php

答案 1 :(得分:-1)

您可以使用mysql_insert_id()函数来获取记录插入ID或类似的函数,具体取决于所使用的驱动程序。但是对此应该有一个特殊的功能。

您不需要运行其他查询。