Подтвердить что ты не робот

PHP MySQL PDO lastInsertID вызывает фатальную ошибку

Я пробовал просматривать некоторые другие сообщения, но не видел ничего точно, что я ищу.

У меня есть запрос БД

$sql = "INSERT INTO groups(Name) VALUES (:name)";
$dbs = $dbo->prepare($sql);

$dbs->bindParam(":name", $_POST['name'], PDO::PARAM_STR);

$dbs->execute();

$groupID = $dbs->lastInsertId();

Это возвращает эту фатальную ошибку:

[Tue Dec 20 13:59:23 2011] [error] [client 127.0.0.1] PHP Fatal error:  Call to undefined method PDOStatement::lastInsertId() in /media/Storage/www/2011/admin/public/ajax.users.php on line 87, referer: http://localhost/2011/admin/public/menu.php?page=users

Согласно руководству php для PDO:: lastInsertId():

Если драйвер PDO не поддерживает эту возможность, PDO:: lastInsertId() запускает SQLSTATE IM001.

Как определить, поддерживает ли мой сервер lastInsertId()? Я не вижу IM001 в моем журнале ошибок где-нибудь.

Когда я запускаю это, данные вставляются в порядке, но я не могу получить его идентификатор для использования в следующем наборе INSERT, который устанавливает групповые разрешения.

4b9b3361

Ответ 1

lastInsertId() - это метод класса PDO, а не класс PDOStatement.

Это должно работать:

$groupID = $dbo->lastInsertId();