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!