mysqli zuletzt einfügen ID

Ich möchte das Bild mit Vorname, Nachname verknüpfen … Wie kann ich die letzte Zeile abrufen und verwenden, um sie in die andere Tabelle einzufügen? Ich habe versucht, $image = $mysqli->insert_id; dann verbindlich, aber es funktioniert nicht. Kann mir jemand helfen?

  $image = $mysqli->insert_id;//this should come from table2 $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, $image); $stmt->execute(); 

   

mysqli::$insert_idmysqli_insert_id – Gibt die automatisch generierte ID zurück, die in der letzten Abfrage verwendet wurde. Beispiel:

 $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } $mysqli->query("CREATE TABLE myCity LIKE City"); $query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)"; $mysqli->query($query); printf ("New Record has id %d.\n", $mysqli->insert_id); /* drop table */ $mysqli->query("DROP TABLE myCity"); /* close connection */ $mysqli->close(); 

Ausgabe

Neuer Datensatz hat die ID 1.

Referenz

Zuerst müssen Sie das Feld auto_increment in Ihrer ID erstellen

Dann können Sie $last_id = mysqli_insert_id($conn);

Nachdem ich die letzte Zeile von table2 bekommen habe, möchte ich sie in table1 einfügen. Das ist alles was ich brauche

Mach weiter:

  1. einfügen in Tabelle 1 mit einfachen regulären einfügen Abfrage
  2. bekomme letzte Einfüge-ID
  3. Einfügen in Tabelle 2 mit einer einfachen regulären Einfügeabfrage

So einfach ist das