【发布时间】:2018-02-07 08:27:12
【问题描述】:
我必须一个接一个地运行多个INSERT 语句,但我需要检索其间最后插入的行的主键,以便在下一个INSERT 语句中使用。我知道我可以用SELECT LAST_INSERT_ID(); 做到这一点,但我不太确定如何在我的代码中使用它来存储在 php 变量中。
function addItem($name, $category, $rating, $user){
$pdo = Database::connect();
$sql = "INSERT INTO items (id, category, api, name, api_id) VALUES ('', '". $category ."', '', '". $name ."', '')";
$pdo->query($sql);
// $item_id = ???
$sql = "INSERT INTO ratings (id, user, item, rating) VALUES ('', '". $user ."', '". $item_id ."', '". $rating ."')";
$pdo->query($sql);
Database::disconnect();
}
【问题讨论】:
-
PDO 方法的文档显示:php.net/manual/en/pdo.lastinsertid.php
-
如果您的主键列设置为自动递增,则无需在插入查询中添加它