2013-11-02 8 views
10

Ich möchte das Bild mit Vorname, Nachname verknüpfen ... Wie kann ich die letzte Zeile abrufen und verwenden Sie es in die andere Tabelle einzufügen? Ich versuchte $image = $mysqli->insert_id; dann verbindlich, aber es funktioniert nicht. Kann mir jemand helfen?Mysqli letzten Einfüge-ID

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

Sie 'insert_id verwenden müssen verwendet erstellen müssen if ($ stmt-> execute()) $ image = $ stmt-> Einfügung_ID; ' –

+0

@IlyaBursov also, wie bind' t2.id =? ' – user2926655

+0

Sie müssen Ihre Wünsche klar und deutlich ausdrücken –

Antwort

1

, nachdem ich die letzte Zeile aus table2 bekommen würde Ich mag es zu tabelle1 einzufügen. Das ist alles was ich brauche

Go on:

  1. Einsatz in Tabelle 1 mit einfachen regulären INSERT-Abfrage
  2. erhalten letzt Einsatz-ID
  3. Einsatz in Tabelle 2 mit einfacher regulärer INSERT-Abfrage

So einfach ist das

+0

Ihre Antwort wäre konzeptionell korrekt, wenn Sie Ihre Tabellennamen nicht umgekehrt hätten. – RedYetiCo

19

mysqli::$insert_id-mysqli_insert_id - Liefert die Auto-ID erzeugt in der letzten Abfrage verwendet, 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 Rekord hat id 1.

Referenz

  • `:`, Nachdem Sie Abfrage mit dem Insert ausgeführt, wie;
+0

von PHP.Net kopiert ... können Sie bitte die Notwendigkeit einer neuen Tabelle erklären? –

3

Zu allererst Sie auto_increment Feld in Ihnen ID

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