繁体   English   中英

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

[英]Fetching last inserted ID and using it as a parameter with 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,并将其设置为自动递增。

我已经尝试了很多事情,但到目前为止,对我来说都没有任何效果。 谢谢!

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

//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被保存到我可以使用的变量中。

尝试这样的事情。 在此处检查文档

// 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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM