Как получить доступ к строке, которая только что была вставлена в БД с PHP / MySQL?
У меня есть:
$sql = 'INSERT INTO `jos_db`.`jos_sections` (`id`, `name`) VALUES (NULL, \'foo\')'; mysql_query($sql, $dbi); bar();
Как получить доступ к новой строке в bar ()?
Если столбец «id» является автоматическим приращением, вы можете использовать mysql_insert_id :
Получает идентификатор, сгенерированный для столбца
AUTO_INCREMENT
предыдущим запросомINSERT
.
Пример, приведенный в руководстве, выглядит следующим образом:
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); if (!$link) { die('Could not connect: ' . mysql_error()); } mysql_select_db('mydb'); mysql_query("INSERT INTO mytable (product) values ('kossu')"); printf("Last inserted record has id %d\n", mysql_insert_id());
Вы можете получить последний элемент, вставленный с mysql_insert_id ()
Используйте функцию mysql_insert_id (), чтобы выбрать последнюю строку, вставленную в базу данных.
SELECT rows from table where id = last_inserted_id
С помощью функции PHP mysql_insert_id()
вернет идентификатор последней введенной строки.