Последний добавленный идентификатор PHP MySQL
В этом уроке вы узнаете, как получить уникальный идентификатор последней вставленной строки из таблицы базы данных MySQL с помощью PHP.
Как получить идентификатор последней вставленной строки
В уроке о вставка данных в таблицу БД MySQL мы узнали, что MySQL автоматически генерирует уникальный идентификатор для столбца с атрибутом AUTO_INCREMENT
каждый раз, когда мы вставляем новую запись или строку в таблицу. Однако бывают ситуации, когда нам нужен автоматически сгенерированный идентификатор, чтобы вставить его во вторую таблицу. В этих ситуациях мы можем использовать функцию PHP mysqli_insert_id()
для получения последнего сгенерированного идентификатора.
В следующем примере мы будем использовать ту же таблицу persons, которую мы создали в уроке создание таблиц PHP MySQL, которая имеет четыре столбца id, first_name, last_name и email, где id — столбец первичного ключа с атрибутом AUTO_INCREMENT
.
<?php
/* Попытка подключения к серверу MySQL. Предполагая, что вы используете MySQL
сервер с настройкой по умолчанию (пользователь root без пароля) */
$link = mysqli_connect("localhost", "root", "", "demo");
// Проверка подключения
if($link === false){
die("Ошибка подключения. " . mysqli_connect_error());
}
// Попытка выполнения запроса вставки
$sql = "INSERT INTO persons (first_name, last_name, email) VALUES ('Ron', 'Weasley', 'ronweasley@mail.com')";
if(mysqli_query($link, $sql)){
// Получить последний вставленный идентификатор
$last_id = mysqli_insert_id($link);
echo "Записи успешно вставлены. Последний вставленный идентификатор: " . $last_id;
} else{
echo "Ошибка вставки $sql. " . mysqli_error($link);
}
// Закрыть соединение
mysqli_close($link);
?>