Возможный дубликат:
PHP: как получить последний вставленный идентификатор таблицы?
Я пишу функцию для добавления данных в базу данных, но затем я хочу немедленно использовать эту запись в своем коде.
Я знаю, что могу запросить: SELECT id FROM table ORDER BY id DESC
Но мне интересно, есть ли более прямой способ сделать это.
В основном это зависит от интерфейса, который вы используете для доступа к MySQL.
Если вы используете PDO (рекомендуется), вы должны использовать PDO::lastInsertId()
: http://us.php.net/manual/en/pdo.lastinsertid.php
Если вы используете MySQL, вы должны использовать mysql_insert_id()
http://php.net/manual/en/function.mysql-insert-id.php
Если вы используете MySQLi, вы должны использовать mysqli_insert_id()
: http://us.php.net/manual/en/mysqli.insert-id.php
Просто позвоните, какая бы функция не была подходящей сразу после завершения INSERT.
Важно отметить, что вы, вероятно , не хотите извлекать id из базы данных с помощью SELECT, потому что, если у вас есть несколько авторов, вы можете получить идентификатор, который вставил какой-либо другой поток. В лучшем случае вы будете работать с неправильными данными, и в худшем случае у вас могут быть серьезные проблемы с безопасностью и / или коррупция.
С помощью PHP вы можете использовать функцию mysql_insert_id () .
select last_insert_id();
доктор
Может быть, это может помочь:
Получите уникальный идентификатор для последней вставленной строки.
Если вы вставляете запись в таблицу, содержащую столбец AUTO_INCREMENT, вы можете получить значение, сохраненное в этом столбце, вызывая функцию mysql_insert_id ().