我尝试浏览其他一些帖子,但没有找到我想要的东西。

我有一个数据库查询

$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

根据PDO::lastInsertId()的php手册:



如何确定我的服务器是否支持lastInsertId()?在任何地方的错误日志中都看不到IM001。

运行此命令时,数据可以很好地插入,但是我无法获取其ID以在下一组设置组权限的INSERT中使用。

最佳答案

lastInsertId()是PDO类的方法,而不是PDOStatement类的方法。

这应该工作:

$groupID = $dbo->lastInsertId();

关于PHP MySQL PDO lastInsertID导致致命错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8580639/

10-09 15:22