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