Sven Rautenberg: last_insert_id() tut nicht

Beitrag lesen

Moin!

nöö, bei phpmyadmin - Eingabe der Zeile

select last_insert_id()

wird der Wert 0 (Zahl Null) ausgegeben, obwohl gerade ein Datensatz mit der ID = 2 angelegt wurde.

Logisch. Du kannst last_insert_id(), egal ob als PHP- oder MySQL-Funktion nicht (zumindest nicht "einfach") in PHPMyAdmin benutzen.

PHPMyAdmin ruft immer wieder einzelne Skripte auf, stellt dann jeweils eine neue Verbindung zur DB her, und führt eine Abfrage aus.

last_insert_id() erfordert, dass man direkt nach dem erzeugenden Statement (INSERT, REPLACE) über dieselbe DB-Connection "SELECT LAST_INSERT_ID()" abfragt bzw. in PHP mysql_insert_id() benutzt. Das garantiert auch die Eindeutigkeit und Richtigkeit der ID, denn andere User benutzen andere DB-Connections. Du kriegst so garantiert immer die erzeugte ID deines letzten INSERT.

- Sven Rautenberg