2016-04-25 51 views
1

我想提交新的註冊用戶與AUTO_INCREMENT ID在table1內,同時插入mysqli_insert_id或LAST_INSERT_ID什麼你想調用它在table2內。我可以回顯id,但我需要它在我的table2中。我怎麼能做到這一點?請幫忙!
這裏是我的代碼以供參考:插入單獨的表mysqli_insert_id使用PHP

<?php 

if(isset($_POST['submit'])) { 

require 'connect.php'; 

$sql = "INSERT INTO table1 (username, password) 
    VALUES ('".$_POST["username"]."','".$_POST["password"]."')"; 

if (mysqli_query($con, $sql)) { 
    $last_id = mysqli_insert_id($con); 
    echo "New record created successfully. Last inserted ID is: " . $last_id; 
} else { 
    echo "Error: " . $sql . "<br>" . mysqli_error($con); 
} 
mysqli_close($con); 
} 

?> 
+0

id = last_insert_id()查詢插入等?非常簡單 –

回答

2

從最後插入的ID從(成功)查詢使用變量插入到另一個表。

這是一個粗略的草圖,因爲我們不知道你的第二張表的數據庫模式是什麼,而且還不太清楚,所以你需要做(填寫)其餘部分。

if (mysqli_query($con, $sql)) { 
    $last_id = mysqli_insert_id($con); 
    echo "New record created successfully. Last inserted ID is: " . $last_id; 

    $sql = mysqli_query($con, "INSERT INTO table2 (col) VALUES ('$last_id')") 
      or die(mysqli_error($con)); 
} 

密碼

我也注意到,你可能會採用明文存儲密碼。這不被推薦。下面的

用途之一:

其他鏈接:

有關列長度重要旁註:

如果當你決定使用password_hash()或兼容包(如果PHP < 5.5)https://github.com/ircmaxell/password_compat/,請務必注意,如果您當前的密碼列的長度低於60,則需要將其更改爲(或更高)。本手冊建議長度爲255.

您需要更改列的長度,並使用新散列重新開始以使其生效。否則,MySQL將無聲無息地失敗。

+0

是的,那正是我需要的。測試完美的作品。感謝您的額外信息,我會考慮它。 –

+0

@SergeyM。哦,太好了!很高興聽到這個解決方案,*歡呼聲,歡迎您* –