Man hat schon so manchen schrägen Trick gesehen, um die ID eines neu angelegten Datensatzes herauszubekommen. Viele Leute schreiben mit dem INSERT einen definierten Wert, zum Beispiel “neu” in eines der Datenfelder, um dann genau diesen Wert in der Tabelle zu suchen und dann alle Daten in per UPDATE in den Datensatz zu schreiben. Dabei geht das auch viel einfacher:

<?php
$sql = mysql_query("INSERT INTO kunden
(Vorname, Nachname, Adresse) VALUES
('$vorname', '$nachname', '$adresse')"
);
$id = mysql_insert_id();
?>

Die Funktion mysql_insert_id() liefert die ID, die bei der letzten INSERT-Operation für ein Feld vom Typ AUTO_INCREMENT vergeben wurde. Wenn die Verbindungs-Kennung nicht angegeben wird, wird die zuletzt geöffnete Verbindung angenommen. Die Funktion liefert 0, wenn die vorhergehende Abfrage keinen AUTO_INCREMENT Wert erzeugt hat. Falls Sie den Wert zur späteren Verwendung speichern möchten, stellen Sie sicher, dass Sie mysql_insert_id() direkt nach der Abfrage aufrufen, die einen Wert erzeugt hat.