I’m using PHP and PHPMyAdmin to create a small profile site. I’m giving members an ID number, based on which is the biggest number currently in the database, +1
I did 25 tests before I got the PHP script where I wanted it to be.
I then deleted those 25 entries using PHPMyAdmin.
But now, when my PHP code does this:
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]; }
I get the wrong number.
Test scenario: the database table holds 3 entries, with ID’s 1, 2 and 3.
I start a debugging session and put a breakpoint on the return $record[0]. I check its contents and instead of 3, which is the biggest number, it’s 28.
As in 25+3=28, the 25 entries that I allready deleted…
Does anybody know what’s causing this and how I can fix it?
It’s probably because you have auto_increment set and the query is returning the highest id. When you deleted the other records, you probably didn’t reset the auto increment count.