我想要在数据库中检索插入的行的id,但是我不知道如何做。
我尝试使用SQL语句RETURNING id
,但没有成功。
我该如何在插入一行后返回ID?
我想要在数据库中检索插入的行的id,但是我不知道如何做。
我尝试使用SQL语句RETURNING id
,但没有成功。
我该如何在插入一行后返回ID?
在 Prepared Statement 上调用 execute()
方法之后,插入行的 id 将在 insert_id
属性中。
$pstm->execute();
$pstm->insert_id;
mysqli_connection->insert_id
而不是mysqli_stmt->insert_id
。请问您是否知道这是否正确? - Cheslab$newid = mysqli_insert_id($mysqli_db);
$mysqli_db
是你的mysqli数据库连接。据我所知,无论你是使用预处理语句还是直接使用INSERT INTO
插入行,都不会影响到它。使用这个数据库连接,mysqli_insert_id()
应该返回最后插入的行的id。
另一种方法是像这样进行另一个查询:SELECT LAST_INSERT_ID();
。
PreparedStatement
еҗ—пјҹжҲ‘йҖҡиҝҮ $pstm->execute();
иҺ·еҸ–дәҶ idпјҢ然еҗҺ insert_id
еұһжҖ§дёӯжңүиҝҷдёӘ idпјҡ$mysqli->insert_id;
- Renato Dinhani您需要使用:
$stmt = $db->prepare("SQL Query");
$stmt->execute();
$id = $db->lastInsertId();
PDO
而不是 MySQLi
时才适用。 - Stack Overflow