last_insert_id geht nicht

Ich hab in der Datenbank eine Spalte mit ID AUTO_INCREMENT und PRIMARY_KEY und habe dort 3 einträge.

<?
$sqlshowcounter="SELECT LAST_INSERT_ID() as ID FROM counter";
$resultshowcounter=mysql_query ($sqlshowcounter) OR die (mysql_error());
while ($rowcounter=mysql_fetch_assoc ($resultshowcounter))
{
echo $rowcounter ["ID"];
}
?>

Warum in aller Welt zeigt er mir bei diesem Code am Ende einfach nur "000" an?

mach ich z.B. 5 Einträge zeigt er mir "00000" an. An was liegt es?
 
Das "FROM counter" kannst du dir sparen, last_insert_id() gibt dir immer den zuletzt vergebenen Wert einer auto_increment-Spalte zurück, egal welche Tabelle das war. Beachte aber, dass das nur innerhalb einer Connection funktioniert. Wenn du zwischen INSERT und last_insert_id() eine neue Verbindung öffnest, dann bekommst du da natürlich immer nur 0 zurück. Ebenso berücksichtigt das nicht, wenn zwischendurch noch andere Verbindungen auf die Tabelle erfolgen und z.B. ein anderer Client eine weitere Zeile mit neuer ID eingefügt hat.
 
hmm oke, dann bringt mir das nichts. Dann geh ich ma anders ran.

Wie kann ich die größte ID einer Tabelle auslesen
 
Zurück
Oben