Sven Rautenberg: id des letzen eintrags

Beitrag lesen

Moin!

LAST_INSERT_ID() sollte Dein Problem lösen.

Warum?
Wenn es sich um MySql handelt und die ID ein Autoincrement hat, sollte eher "....max(id)..." helfen.

Nein. max(ID) selektiert die zu diesem Zeitpunkt maximale ID. Das kann aber (da ja parallel mehrere Einträge gemacht werden können) eine ganz ander ID sein, als dem in diesem Skript gemachten Eintrag zugeordnet wurde.

LAST_INSERT_ID() gibt es sowohl als SQL-Befehl, als auch als PHP-Befehl, und damit erhält man GARANTIERT die durch die vorhergehende INSERT-Operation erzeugte neue ID. Diese Zuordnung orientiert sich an der Datenbank-Connection und wird durch andere Operationen paralleler Skripte nicht beeinflusst. Damit bist du in jedem Falle SICHER, dass deine ID tatsächlich dem gerade eben erzeugten Datensatz entspricht.

- Sven Rautenberg