我正在使用 PHP 和 PHPMyAdmin 创建一个小型个人资料网站。 我给成员(member)一个 ID 号,基于该号是当前数据库中最大的数字,+1
在获得我想要的 PHP 脚本之前,我进行了 25 次测试。
然后我使用 PHPMyAdmin 删除了这 25 个条目。
但是现在,当我的 PHP 代码这样做时:
function getLatestID() {
$query = "SELECT max(member_id) FROM members";
$result = @mysql_query($query) or showError("unable to query database for user information");
if (!($record = mysql_fetch_array($result))) return null;
return $record[0];
}
我打错号码了。
测试场景:数据库表包含 3 个条目,ID 为 1、2 和 3。
我开始调试 session 并在返回 $record[0]
上放置断点。
我检查了它的内容,而不是最大的 3,而是 28。
如25+3=28,我已经删除的25条...
有人知道是什么原因造成的吗?我该如何解决?
最佳答案
这可能是因为您设置了 auto_increment 并且查询返回最高 ID。当您删除其他记录时,您可能没有重置自动增量计数。
关于php - PHP 中的 MySQL 查询给出了明显的错误结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/646746/