Как получить идентификатор строки, которую я только что вставил php / mysql

Возможный дубликат:
PHP: как получить последний вставленный идентификатор таблицы?

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

Я знаю, что могу запросить: SELECT id FROM table ORDER BY id DESC

Но мне интересно, есть ли более прямой способ сделать это.

Related of "Как получить идентификатор строки, которую я только что вставил php / mysql"

В основном это зависит от интерфейса, который вы используете для доступа к 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 ().