PHP
Referenzliste
mysql_insert_id
MySQL-Funktionen
Befehl:
int mysql_insert_id ([ resource $Verbindungs-Kennung ] )
Parameter-Liste:
Beschreibung | |
---|---|
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. Beschreibung:
Liefert die ID, die für eine AUTO_INCREMENT Spalte durch die vorherige Abfrage (meist INSERT) erzeugt wurde.
Aktiv in Version:
(PHP 4, PHP 5, PHP 7)
Hinweis:
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.
Der Wert der MySQL SQL Funktion LAST_INSERT_ID() liefert immer den zuletzt erzeugten AUTO_INCREMENT Wert. Dieser wird zwischen Abfragen nicht zurückgesetzt.
Achtung:
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 denmysql_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.
Warnung:
Warnung:
Diese Erweiterung ist ab PHP 5.5.0 veraltet und wird in der Zukunft entfernt werden. Stattdessen wird der MySQLi oder PDO_MYSQL Verlängerung verwendet werden. Siehe auch MySQL: Auswahl einer API Führung und bezogenen FAQ für weitere Informationen. Alternativen zu dieser Funktion sind:
Siehe auch:
Sendet eine Anfrage an MySQL
Liefert Informationen über die zuletzt ausgeführte Anfrage zurück
mysql_insert_id() - Beispiel:
Eingabe:
<?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()); ?>
MySQL-Funktionen