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 finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

Beschreibung

mysql_insert_id ([ resource $link_identifier = NULL ] ) : int

Liefert die ID, die für eine AUTO_INCREMENT Spalte durch die vorherige Abfrage (meist INSERT) erzeugt wurde.

Parameter-Liste

Verbindungs-Kennung

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

Die ID, die für eine AUTO_INCREMENT Spalte durch die vorherige Abfrage bei Erfolg, 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("Letzer eingefügter Datensatz hat 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 (als int in PHP bezeichnet). Falls Ihre AUTO_INCREMENT Spalte vom Typ BIGINT (64 Bit) ist, ist der Wert den mysql_insert_id() liefert, nicht korrekt. Verwenden Sie in diesem Fall stattdessen die MySQL interne SQL Funktion LAST_INSERT_ID() in einer SQL-Abfrage. Für weitergehende Informationen bezüglich PHPs maximaler Integer Werte, lesen sie bitte integer Dokumenation.

Hinweis:

Da mysql_insert_id() mit der zuletzt ausgeführten Abfrage arbeite, stellen sie sicher, dass sie mysql_insert_id() direkt nach der Abfrage, die den Wert erzeugt aufrufen.

Hinweis:

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

Siehe auch

  • mysql_query() - Sendet eine Anfrage an MySQL
  • mysql_info() - Liefert Informationen über die zuletzt ausgeführte Anfrage zurück