2013-11-02 101 views
10

我想圖像與名字相關聯,姓氏......我怎麼能檢索最後羅萬德用它插入到另一個表?我嘗試$image = $mysqli->insert_id;然後綁定,但它不起作用。有人可以幫我嗎?mysqli的最後插入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

你需要使用'INSERT_ID;'你執行的查詢後插入,如:'如果($ stmt->的execute())$圖像= $ stmt-> INSERT_ID;' –

+0

@IlyaBursov這樣的話怎麼辦綁定't2.id =' – user2926655

+0

需要表達自己的意願更加明確和獨特的方式 –

回答

1

後,我從表2得到的最後一排,我想將它插入到表1。這就是我需要

下去:

  1. 插入到表1與簡單的正則插入查詢
  2. 插入得到最後插入的id爲表2用簡單的常規插入查詢

就這麼簡單

+0

你的答案是正確的概念,如果你還沒有扭轉的表名的順序。 – RedYetiCo

19

mysqli::$insert_id - mysqli_insert_id - 返回自動生成的,在過去查詢中使用的ID,例如:

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

輸出

新記錄ID爲1

參考

+0

從PHP.Net複製...你能解釋一下創建一個新表的需求嗎? –

3

首先你需要在你的ID

然後創建AUTO_INCREMENT領域,您可以使用 $last_id = mysqli_insert_id($conn);