当前位置:  开发笔记 > 编程语言 > 正文

PHP中的MySQL查询给出了明显错误的结果

如何解决《PHP中的MySQL查询给出了明显错误的结果》经验,为你挑选了2个好方法。

我正在使用PHP和PHPMyAdmin来创建一个小型的站点.我给会员一个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.

我启动一个调试会话并在返回时放置一个断点$record[0].我检查它的内容,而不是3,这是最大的数字,它是28.

在25 + 3 = 28中,我已经删除了25个条目...

有谁知道是什么导致了这个以及我如何解决它?



1> VirtuosiMedi..:

这可能是因为你设置了auto_increment并且查询返回了最高的id.删除其他记录时,可能没有重置自动增量计数.



2> Greg..:

如果您auto_increment在MySQL中使用,则删除记录不会降低下一个值.

你可以用TRUNCATE TABLE mytable- 清空一个表- 这将重置该值.

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有