2011-12-20 3 views
11

다른 게시물을 살펴 보았지만 찾고있는 내용이 보이지 않았습니다.PHP MySQL PDO lastInsertID로 치명적인 오류가 발생합니다

If the PDO driver does not support this capability, PDO::lastInsertId() triggers an IM001 SQLSTATE.

방법 : PDO :: lastInsertId()에 대한 PHP 매뉴얼에 따르면

[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 

:

은 내가 DB 쿼리이 치명적인 오류를 반환

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

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

$dbs->execute(); 

$groupID = $dbs->lastInsertId(); 

에게 있습니다 내 서버가 lastInsertId()를 지원하는지 확인하겠습니까? 내 오류 로그에 IM001이 보이지 않습니다.

이걸 실행하면 데이터가 잘 삽입되지만 그룹 권한을 설정 한 다음 INSERT 집합에서 ID를 사용할 수 없습니다.

답변

28

lastInsertId()는 PDOS 클래스의 메서드이며 PDOStatement 클래스는 아닙니다.

이 작동합니다 :

$groupID = $dbo->lastInsertId(); 
+2

와우 LOL, 내가 바보 감사를 느낀다! – guyfromfl

관련 문제