[英]Sql insert id from one table to entry in another
我的數據庫中有兩個表。 當我在第一個表中插入記錄時,我需要獲取由Mysql自動生成的id
,並將其添加到第二個表中的新記錄中。
因此,我需要從此記錄中獲取id
:
$sql = "INSERT INTO movies (title, year, format);
並將其放入此記錄中:
$sql = "INSERT INTO actors(name, last_name, movi_id);
-----------------------------------------------^
HERE
使用下面的內置PHP函數從上一次插入查詢中獲取ID:
mysqli_insert_id();
您的代碼必須如下所示才能解決您的問題:
$sql = "INSERT INTO movies (title, year, format) VALUES ($title, $year,
$format)";
$movi_id = mysqli_insert_id();
$sql = "INSERT INTO actors(name, last_name, movi_id) VALUES ($name,
$last_name, $movi_id)";
最好在Prepared Statements中編寫上述查詢,以使其更加安全 :
// prepare and bind Movies Query
$queryMovies = $conn->prepare("INSERT INTO movies (title, year, format)
VALUES (?, ?, ?)");
$queryMovies->bind_param("sss", $title, $year, $format);
// execute Movies Query
$queryMovies->execute();
// Get last inserted Id of Movies Query
$movi_id = $queryMovies->insert_id;
// prepare and bind Actors Query
$queryActors = $conn->prepare("INSERT INTO actors (name, last_name, movi_id)
VALUES (?, ?, ?)");
$queryActors->bind_param("sss", $name, $last_name, $movi_id);
// execute Actors Query
$queryActors->execute();
// Close Connections
$queryMovies->close();
$queryActors->close();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.