Получение последнего вставленного идентификатора автоинкрементной записи с использованием fat-free-framework
Мне нужно получить идентификатор (AUTO-INCREMENTED) последней вставленной записи в таблице. Я использую обезжиренную структуру.
Я пытался получить последний идентификатор с помощью
$id = mysql_insert_id();
но это дало мне эту ошибку
Доступ запрещен для пользователя 'root'@'localhost' (используется пароль: НЕТ)
Я обращаюсь к базе данных с помощью fat-free-framework и не использую традиционные функции php. Кто-нибудь может подсказать мне, как этого добиться?
4 ответа
Попробуйте этот код после вставленной записи
$id = $db->lastInsertId();
Помимо ответа kumar_v, F3 будет автоматически заполняться $db->_id
после успешной вставки.
Обратите внимание, что если вы использовали SQL Mapper для создания строки в вашей таблице, вы можете просто сделать
$object->id;
Пример (с использованием таблицы, содержащей кавычки):
$quote = new DB\SQL\Mapper($db, 'quotes');
if($_POST){
//overwrite with values just submitted
$quote->copyFrom('POST');
$quote->save();
die("new quote added with id:".$quote->id);
}
$quote = new DB\SQL\Mapper($db, 'quotes');
$quote->get('_id');
"_id" - это поле идентификатора автоматического увеличения идентификатора вашей таблицы, замените "_id" на свое, которое вы можете прочитать в документах: https://fatfreeframework.com/3.6/sql-mapper