LastInsertId() возвращает 0

Рейтинг: 0Ответов: 1Опубликовано: 16.10.2014

Здравствуйте. В общем, вот такая вот проблема: при попытке получить ID последней внесенной записи PDO всегда возвращает 0.

Сам код запроса:

    $prepare = $db->prepare("INSERT INTO `users`(`pass`, `skype`, `wm`, `group`) VALUES(?,?,?,?)");
    $data = array($password, $skype, $wm, $group);

//    print_r($prepare->errorinfo());
    $prepare->execute($data);
    $id = $prepare->lastInsertId();

В общем-то, все поля имеют тип TEXT, кроме непоказанного тут поля ID - int, A_I

Вот и вопрос: почему он не возвращает идентефикатор внесенной записи?

Ответы

▲ 2

А у вас код точно работает? Просто lastInsertId() вызывается у объекта-подключения(PDO), а не у подготовленного запроса(PDOStatement).

Обновление

$db->prepare() - возвращает объект класса PDOStatement, у которого НЕТ метода lastInsertId()


Предоставленный вами код должен выдать Fatal error.