Используя PHP, MySQLi и подготовленный отчет, как я возвращаю идентификатор вставленной строки?
Я хочу получить идентификатор вставленной строки в базе данных, но я не знаю, как это сделать.
Я попытался вернуться с использованием предложения SQL RETURNING id, но не работает.
Как я могу вернуть идентификатор после вставки строки?
Ответ 1
После вызова метода execute() в PreparedStatement, идентификатор строки вставки будет находиться в атрибуте insert_id. Только прочитайте его.
$pstm->execute();
$pstm->insert_id;
Ответ 2
$newid = mysqli_insert_id($mysqli_db);
$mysqli_db - это соединение с базой данных mysqli. Насколько я знаю, не имеет значения, каким образом вставил строку (подготовленный оператор или прямой INSERT INTO). mysqli_insert_id() должен возвращать идентификатор последней вставленной строки, используя это соединение db.
Альтернативой является другой запрос, например SELECT LAST_INSERT_ID();.