我想检索数据库中插入行的id,但我不知道该怎么做。
我尝试使用SQL子句RETURNING id
返回,但不起作用。
如何在插入行后返回id?
答案 0 :(得分:74)
在execute()
上调用PreparedStatement
方法后,插入行的ID将位于insert_id
属性中。只读它。
$pstm->execute();
$pstm->insert_id;
答案 1 :(得分:6)
$newid = mysqli_insert_id($mysqli_db);
$mysqli_db
是您的mysqli数据库连接。据我所知,插入行(预备语句或直接INSERT INTO
)的方式无关紧要。 mysqli_insert_id()
应使用此db连接返回最后插入行的id。
另一种方法是制作另一个查询,例如SELECT LAST_INSERT_ID();
。
答案 2 :(得分:1)
这是不正确的,您需要使用:
$stmt = $db->prepare("SQL Query");
$stmt->execute();
$id = $db->lastInsertId();