Изучение различных методов получения последнего вставленного идентификатора в MySQLi

При работе с базами данных обычно в таблицы добавляются новые записи и извлекаются автоматически сгенерированные идентификаторы для дальнейшей обработки. В MySQLi, популярном расширении для PHP, существует несколько методов получения последнего вставленного идентификатора. В этой статье мы рассмотрим различные методы и примеры кода, которые помогут вам легко получить последний вставленный идентификатор.

  1. Использование функции mysqli_insert_id():
    Функция mysqli_insert_id() извлекает идентификатор, сгенерированный последним запросом INSERT, выполненным при текущем соединении с базой данных.
// Establish the connection
$conn = mysqli_connect("localhost", "username", "password", "database");
// Execute the INSERT query
mysqli_query($conn, "INSERT INTO table_name (column1, column2) VALUES ('value1', 'value2')");
// Retrieve the last inserted ID
$lastId = mysqli_insert_id($conn);
// Display the last inserted ID
echo "Last Inserted ID: " . $lastId;
  1. Использование функции LAST_INSERT_ID() в запросе:
    MySQL предоставляет функцию LAST_INSERT_ID(), которая возвращает последний сгенерированный идентификатор в текущем сеансе.
// Establish the connection
$conn = mysqli_connect("localhost", "username", "password", "database");
// Execute the INSERT query
mysqli_query($conn, "INSERT INTO table_name (column1, column2) VALUES ('value1', 'value2')");
// Retrieve the last inserted ID using LAST_INSERT_ID()
$result = mysqli_query($conn, "SELECT LAST_INSERT_ID()");
// Fetch the last inserted ID
$row = mysqli_fetch_array($result);
$lastId = $row[0];
// Display the last inserted ID
echo "Last Inserted ID: " . $lastId;
  1. Получение идентификатора с помощью функции mysqli_info():
    Функция mysqli_info() извлекает информацию о самом последнем запросе, включая последний вставленный идентификатор.
// Establish the connection
$conn = mysqli_connect("localhost", "username", "password", "database");
// Execute the INSERT query
mysqli_query($conn, "INSERT INTO table_name (column1, column2) VALUES ('value1', 'value2')");
// Retrieve the last inserted ID using mysqli_info()
$info = mysqli_info($conn);
preg_match_all("/\s+(\d+)$/", $info, $matches);
$lastId = end($matches[1]);
// Display the last inserted ID
echo "Last Inserted ID: " . $lastId;

Получение последнего вставленного идентификатора в MySQLi имеет решающее значение для различных операций с базой данных. В этой статье мы рассмотрели три различных метода: использование функции mysqli_insert_id(), использование функции LAST_INSERT_ID() в запросе и получение идентификатора с помощью функции mysqli_info(). Включив эти методы в свои PHP-скрипты, вы сможете легко получить последний вставленный идентификатор и с уверенностью выполнять последующие действия.

Не забудьте выбрать метод, который лучше всего соответствует требованиям вашего приложения и стилю кодирования. Приятного кодирования!