mysql_insert_id

(PHP 4, PHP 5)

mysql_insert_id Liefert die ID, die in der vorherigen Abfrage erzeugt wurde

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen bietet der Ratgeber MySQL: Auswahl einer API. Alternativen zu dieser Funktion umfassen:

Beschreibung

mysql_insert_id(resource$link_identifier = NULL): int

Gibt die ID zurück, die für eine AUTO_INCREMENT-Spalte durch die vorherige Abfrage (meist INSERT) erzeugt wurde.

Parameter-Liste

link_identifier

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Gibt bei Erfolg die ID zurück, die durch die vorherige Abfrage für eine AUTO_INCREMENT-Spalte erzeugt wurde, 0, falls die vorherige Abfrage keinen AUTO_INCREMENT Wert erzeugt hatte, oder false, falls keine MySQL-Verbindung existierte.

Beispiele

Beispiel #1 mysql_insert_id()-Beispiel

<?php
$link
= mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!
$link) {
die(
'Keine Verbindung möglich: ' . mysql_error());
}
mysql_select_db('mydb');

mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Der letze eingefügte Datensatz hat die ID %d\n", mysql_insert_id());
?>

Anmerkungen

Achtung

mysql_insert_id() konvertiert den Typ der Rückgabe der nativen MySQL C API-Funktion mysql_insert_id() in den Typ long (in PHP als int bezeichnet). Falls Ihre AUTO_INCREMENT-Spalte vom Typ BIGINT (64 Bit) ist, ist der Wert, den mysql_insert_id() zurückgibt, nicht korrekt. Verwenden Sie in einer SQL-Abfrage in diesem Fall stattdessen die MySQL-interne SQL-Funktion LAST_INSERT_ID(). Für weitergehende Informationen bezüglich PHPs maximaler Integer-Werte, lesen Sie bitte die Integer-Dokumenation.

Hinweis:

Da mysql_insert_id() mit der zuletzt durchgeführten Abfrage arbeitet, sollten Sie mysql_insert_id() unmittelbar nach der Abfrage aufrufen, die den Wert erzeugt.

Hinweis:

Der Wert der MySQL-SQL-Funktion LAST_INSERT_ID() gibt immer den zuletzt erzeugten AUTO_INCREMENT-Wert zurück. Dieser wird zwischen Abfragen nicht zurückgesetzt.

Siehe auch

To Top