Heim >Backend-Entwicklung >PHP-Tutorial >Wie rufe ich die zuletzt eingefügte ID in MySQLi für tabellenübergreifende Einfügungen ab?

Wie rufe ich die zuletzt eingefügte ID in MySQLi für tabellenübergreifende Einfügungen ab?

Barbara Streisand
Barbara StreisandOriginal
2024-12-18 02:42:10217Durchsuche

How to Retrieve the Last Inserted ID in MySQLi for Cross-Table Inserts?

Letzte Einfügungs-ID mit „mysqli_insert_id“ für tabellenübergreifendes Einfügen abrufen

Sie versuchen, ein Bild mit Daten in einer anderen Tabelle zu verknüpfen. Dazu müssen Sie die letzte in die erste Tabelle eingefügte Zeile abrufen und deren ID verwenden, um die Einfügung in die zweite Tabelle durchzuführen. Die Methode, die Sie zum Abrufen der letzten Einfügungs-ID verwenden, funktioniert jedoch nicht.

Lösung:

Die richtige Syntax zum Abrufen der zuletzt eingefügten ID mithilfe der MySQLi-Schnittstelle ist mysqli_insert_id($conn). Anschließend können Sie diese ID zum Binden an die Einfügeanweisung verwenden.

Hier ist eine korrigierte Version Ihres Codes:

$last_id = mysqli_insert_id($mysqli); // Get the last inserted ID

$stmt = $mysqli->prepare("
  INSERT INTO table1 (username, firstname, lastname, image) 
  SELECT ?,?,?,image FROM table2 t2 WHERE username = ? AND  t2.id = ? 
");
$stmt->bind_param('sssss', $username, $fname, $lname, $username, $last_id);
$stmt->execute();

Zusätzliche Überlegungen:

Stellen Sie sicher, dass das ID-Feld in der ersten Tabelle ein Auto-Inkrement-Feld ist. Dadurch wird sichergestellt, dass bei jedem Einfügen einer Zeile eine eindeutige ID generiert wird.

Das obige ist der detaillierte Inhalt vonWie rufe ich die zuletzt eingefügte ID in MySQLi für tabellenübergreifende Einfügungen ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn