Я просто хочу добавить небольшую деталь, касающуюся lastInsertId()
;
При вводе более одной строки за раз, он не возвращает последний идентификатор , но первый идентификатор набора последних вставок.
Рассмотрим следующий пример
$sql = 'INSERT INTO my_table (varNumb,userid) VALUES
(1, :userid),
(2, :userid)';
$sql->addNewNames = $db->prepare($sql);
addNewNames->execute(array(':userid' => $userid));
echo $db->lastInsertId();
Здесь происходит то, что я вставляю my_table
две новые строки. Идентификатор таблицы - автоинкремент. Здесь для одного и того же пользователя я добавляю две строки с другим varNumb
.
Возвращаемое значение в конце будет равно id строки, где varNumb=1
, что означает не идентификатор последней строки, а идентификатор первой строки, которая была добавлена в последний запрос.