mysqli letzte Einfüge-ID

Lesezeit: 2 Minuten

Ich möchte das Bild mit Vorname, Nachname verbinden … wie kann ich die letzte Zeile abrufen und zum Einfügen in die andere Tabelle verwenden? Ich habe es versucht $image = $mysqli->insert_id; dann Bindung, aber es funktioniert nicht. Kann mir jemand weiterhelfen?

 $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();

  • Sie müssen verwenden insert_id; nachdem Sie eine Abfrage mit Einfügen ausgeführt haben, wie: if ($stmt->execute()) $image = $stmt->insert_id;

    – Ilja Bursov

    2. November 2013 um 2:21 Uhr


  • @IlyaBursov also wie binden t2.id = ?

    – Benutzer2926655

    2. November 2013 um 2:23 Uhr

  • Sie müssen Ihre Wünsche klarer und deutlicher ausdrücken

    – Ihr gesunder Menschenverstand

    2. November 2013 um 2:25 Uhr

  • @ user2926655 möchten Sie in Tabelle1 oder Tabelle2 einfügen?

    – Ilja Bursov

    2. November 2013 um 2:26 Uhr

  • @NicoHaase Sie würden kaum eine Antwort erhalten, da das OP diese Site vor 7 Jahren verlassen hat

    – Ihr gesunder Menschenverstand

    4. November 2020 um 10:11 Uhr

mysqli letzte Einfuge ID
Abe

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();

Ausgang

Neuer Datensatz hat die ID 1.

Referenz

  • kopiert von PHP.Net… können Sie bitte die Notwendigkeit erklären, eine neue Tabelle zu erstellen?

    – Veer Shrivastav

    11. Mai 2015 um 13:28 Uhr

Zunächst müssen Sie das Feld auto_increment in Ihrer ID erstellen

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

Nachdem ich die letzte Zeile von Tabelle2 erhalten habe, möchte ich sie in Tabelle1 einfügen. Das ist alles, was ich brauche

Mach weiter:

  1. Einfügen in Tabelle 1 mit einer einfachen regulären Einfügeabfrage
  2. Holen Sie sich die letzte Insert-ID
  3. Einfügen in Tabelle 2 mit einer einfachen regulären Einfügeabfrage

So einfach ist das

  • Ihre Antwort wäre konzeptionell richtig, wenn Sie Ihre Tabellennamen nicht umgekehrt hätten.

    – MLK.DEV

    5. Juni 2014 um 8:49 Uhr

1002300cookie-checkmysqli letzte Einfüge-ID

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy