Подтвердить что ты не робот

Используя PHP, MySQLi и подготовленный отчет, как я возвращаю идентификатор вставленной строки?

Я хочу получить идентификатор вставленной строки в базе данных, но я не знаю, как это сделать.

Я попытался вернуться с использованием предложения SQL RETURNING id, но не работает.

Как я могу вернуть идентификатор после вставки строки?

4b9b3361

Ответ 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();.

Ответ 3

Это неверно, вам нужно использовать:

$stmt = $db->prepare("SQL Query");
$stmt->execute();
$id = $db->lastInsertId();