mysqli::$insert_id
mysqli_insert_id
(PHP 5, PHP 7, PHP 8)
mysqli::$insert_id -- mysqli_insert_id — Liefert den Wert, der bei der letzten Anweisung für die AUTO_INCREMENT-Spalte erzeugt wurde
Beschreibung
Objektorientierter Stil
Prozeduraler Stil
Wenn eine INSERT- oder
UPDATE-Anweisung mit der MySQL-Funktion
LAST_INSERT_ID() ausgeführt wird, wird auch der von
mysqli_insert_id() zurückgegebene Wert geändert. Wenn
LAST_INSERT_ID(expr) verwendet wurde, um den Wert von
AUTO_INCREMENT zu erzeugen, wird der Wert des letzten
Ausdrucks expr anstelle des erzeugten
AUTO_INCREMENT-Werts zurückgegeben.
Gibt 0 zurück, wenn die vorherige Anweisung einen
AUTO_INCREMENT-Wert nicht verändert hat.
mysqli_insert_id() muss unmittelbar nach der Anweisung
aufgerufen werden, die den Wert erzeugt hat.
Rückgabewerte
Gibt den Wert der AUTO_INCREMENT-Spalte zurück, die
durch die vorherige Anweisung aktualisiert wurde. Gibt Null zurück, wenn es
keine vorherige Anweisung für die Verbindung gab oder wenn die Anweisung
keinen AUTO_INCREMENT-Wert aktualisiert hat.
Nur Anweisungen, die über die aktuelle Verbindung gesendet werden,
beeinflussen den Rückgabewert. Der Wert wird nicht von Anweisungen
beeinflusst, die über andere Verbindungen oder Clients ausgegeben werden.
Hinweis:
Wenn die Zahl größer ist als der maximale int-Wert, wird sie als
Zeichenkette zurückgegeben.
Beispiele
Beispiel #1 $mysqli->insert_id-Beispiel
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$mysqli->query("CREATE TABLE myCity LIKE City");
$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
$mysqli->query($query);
printf("Der neue Datensatz hat die ID %d.\n", $mysqli->insert_id);
/* Tabelle löschen */
$mysqli->query("DROP TABLE myCity");
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
mysqli_query($link, "CREATE TABLE myCity LIKE City");
$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
mysqli_query($link, $query);
printf("Der neue Datensatz hat die ID %d.\n", mysqli_insert_id($link));
/* Tabelle löschen */
mysqli_query($link, "DROP TABLE myCity");
Die obigen Bespiele erzeugen folgende Ausgabe:
Der neue Datensatz hat die ID 1.