mysqli::$insert_id

mysqli_insert_id

(PHP 5, PHP 7, PHP 8)

mysqli::$insert_id -- mysqli_insert_idВозвращает значение, созданное для столбца AUTO_INCREMENT последним запросом

Описание

Объектно-ориентированный стиль

Процедурный стиль

mysqli_insert_id(mysqli$mysql): int|string

Возвращает идентификатор, сгенерированный запросом INSERT или UPDATE для таблицы со столбцом, имеющим атрибут AUTO_INCREMENT. В случае многострочного оператора INSERT он возвращает первое автоматически сгенерированное значение, которое было успешно добавлено.

Выполнение запроса INSERT или UPDATE с использованием MySQL-функции LAST_INSERT_ID() также изменит значение, возвращаемое mysqli_insert_id(). Если LAST_INSERT_ID(expr) использовался для генерации значения AUTO_INCREMENT, он возвращает значение последнего expr вместо сгенерированного значения AUTO_INCREMENT.

Возвращает 0, если предыдущий оператор не изменил значение AUTO_INCREMENT. mysqli_insert_id() должен вызываться сразу после запроса, сгенерировавшего значение.

Список параметров

mysql

Только для процедурного стиля: объект mysqli, который вернула функция mysqli_connect() или функция mysqli_init().

Возвращаемые значения

Значение поля AUTO_INCREMENT, которое было затронуто предыдущим запросом. Возвращает ноль, если предыдущий запрос не затронул таблицы, содержащие поле AUTO_INCREMENT.

Только запросы, выданные с использованием текущего соединения, влияют на возвращаемое значение. На значение не влияют запросы, выданные с использованием других подключений или клиентов.

Замечание:

Если число больше максимального значения целого числа, функция вернёт строку.

Примеры

Пример #1 Пример функции $mysqli->insert_id

Объектно-ориентированный стиль

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$mysqli->query("CREATE TABLE myCity LIKE City");

$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
$mysqli->query($query);

printf("ID новой записи: %d.\n", $mysqli->insert_id);


$mysqli->query("DROP TABLE myCity");

Процедурный стиль

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

mysqli_query($link, "CREATE TABLE myCity LIKE City");

$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
mysqli_query($link, $query);

printf("ID новой записи: %d.\n", mysqli_insert_id($link));


mysqli_query($link, "DROP TABLE myCity");

Результат выполнения приведённых примеров:

ID новой записи: 1.
To Top