Using Prepared Statement, how I return the id of the inserted row?
After calling the execute()
method on the Prepared Statement, the id of the insert row will be in the insert_id
attribute.
$pstm->execute();
$pstm->insert_id;
You need to use:
$stmt = $db->prepare("SQL Query");
$stmt->execute();
$id = $db->lastInsertId();
$newid = mysqli_insert_id($mysqli_db);
$mysqli_db
is your mysqli database connection. As far as I know it shouldn't matter on which way ou inserted the row (prepared statement or direct INSERT INTO
). mysqli_insert_id()
should return the id of the last inserted row using this db connection.
The alternative is to make another query like SELECT LAST_INSERT_ID();
.