gpt4 book ai didi

php - 如何在 php 的 mysql_insert_id() 中返回 1?

转载 作者:太空宇宙 更新时间:2023-11-03 10:45:50 25 4
gpt4 key购买 nike

这里的逻辑错误是 mysql_insert_id() 总是从 0 开始,我希望它从 1 递增,依此类推。我想知道为什么它会给我一个错误:键“PRIMARY”的重复条目“0”。我不想复制我只想添加的 key 。例如。 1 2 3 4.

这是我的代码:

$insertID=mysql_insert_id(); //I want this to start at 1

if (isset($_POST['lastname']) && isset($_POST['firstname']) && isset($_POST['address']))
{
$sql="INSERT INTO contact(idnum, lastname, firstname, address) values ('$insertID','$_POST[lastname]','$_POST[firstname]','$_POST[address]')";

if(!mysql_query($sql, $con))
{
die("Error: " .mysql_error());
}
echo "Saved...";
}

最佳答案

你好像误会了what mysql_insert_id() actually does .

它不会生成一个 ID 供您在下一个 查询中使用。它告诉您MySQL 在最后 查询中生成 的ID。所以……

  1. 如果您的表没有使用自动生成的 ID,则数据库不会返回生成的 ID。
  2. 您在插入任何内容之前要求提供生成的 ID。

如果您使用的是手动 ID,则您的应用程序有责任生成一个唯一的 ID。如果您使用的是数据库生成的 ID,则从 INSERT 语句中删除该 ID,并在生成 ID 之后从数据库中获取该 ID。


此外,请注意,您的代码SQL injection vulnerabilities 完全开放

关于php - 如何在 php 的 mysql_insert_id() 中返回 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31925187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com