php - 获取最后插入的 ID 并将其用作 PHP/MySQL 的参数

标签 php mysql

我对 PHP 很陌生,正在尝试解决问题。

我有以下 php 代码:

$read_more = '<a href="http://www.example.com/index.php?id=' . mysqli_insert_id($conn)  . '" target="_self">[read more]</a>';

$sql = "INSERT INTO database (date, headline, article, read_more) VALUES ('$_POST[date]', '$_POST[headline]', '$_POST[article]', '$read_more')";

代码返回“http://www.example.com/index.php?id=0 ”。请注意,“id”参数返回“0”。我的目标是让它返回数据库中的最新ID,该ID设置为自动递增。

我尝试了很多方法,但到目前为止没有任何效果。谢谢!

编辑:经过数小时的反复试验,这就是我解决此问题的方法:

//After connecting to the database

$sql = "INSERT INTO table (date, headline, article, read_more) VALUES ('$_POST[date]', '$_POST[headline]', '$_POST[article]', '$read_more')";
$result = mysqli_query($conn, $sql);
$id = mysqli_insert_id($conn);

现在最新的 id 已保存到我可以使用的变量中。

最佳答案

尝试这样的事情。检查documentation在这里。

// insert a datarow, primary key is auto_increment
// value is a unique key
$query = "INSERT INTO test (value) VALUES ('test')";
mysql_query( $query );

echo 'LAST_INSERT_ID: ',
      mysql_query( "SELECT LAST_INSERT_ID()" ),
      '<br>mysql_insert_id: ',
      mysql_insert_id();

关于php - 获取最后插入的 ID 并将其用作 PHP/MySQL 的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30853751/

相关文章:

mysql - 更好的数据库设计?

php - 用英文字母替换土耳其字母

php - 我想存储来自 html5 input type = "date"元素的值,并希望在数据库中存储完全相同的值

php - 在存档循环中创建 WordPress 循环

java - 我想使用java打印excel中的异常计数总数

asp.net - 从 MySQL 读取记录集的特殊字符问题

php - MIME 类型检测是检测一种文件的最佳方法吗?

php - 使用 PHP 提取链接的 CSS 文件

MySQL 在带有 If 条件的 While 循环中设置变量

php - 将刻度转换为 unix 时间戳