我对 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/