我的数据库中有两个表。当我将记录插入到第一个表时,我需要将id
Mysql 自动生成的记录添加到第二个表中的新记录中。
所以我需要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();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句