2011-12-20 35 views
11

Tôi đã thử xem qua một số bài đăng khác, nhưng không thấy bất cứ điều gì chính xác những gì tôi đang tìm kiếm.PHP MySQL PDO lastInsertID gây ra lỗi nghiêm trọng

Tôi có một truy vấn 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(); 

Đó trả về lỗi nghiêm trọng này:

[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 

Theo hướng dẫn php cho PDO :: lastInsertId():

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

thế nào thế nào tôi sẽ xác định nếu máy chủ của tôi hỗ trợ lastInsertId()? Tôi không thấy IM001 trong nhật ký lỗi của tôi ở bất cứ đâu.

Khi tôi chạy điều này, dữ liệu được chèn vào tốt, nhưng tôi không thể nhận được ID của nó để sử dụng trong tập hợp INSERT tiếp theo đã đặt quyền của nhóm.

Trả lời

28

lastInsertId() là một phương thức của lớp PDO, không phải là lớp PDOStatement.

này nên làm việc:

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

LOL wow, tôi cảm thấy câm cảm ơn! – guyfromfl

Các vấn đề liên quan