PDO lastInsertId issues, php(PDO lastInsertId 问题,php)
问题描述
我已经尝试了很多方法来使用下面的代码(来自较大班级的片段)获取最后插入的 ID,现在我已经放弃了.
I have tried lots of ways to get the last inserted ID with the code below (snipplet from larger class) and now I have given up.
有谁知道如何让 PDO lastInsertId 工作?
Does anyone know howto get PDO lastInsertId to work?
提前致谢.
$sql = "INSERT INTO auth (surname, forename, email, mobile, mobilepin, actlink, regdate) VALUES (:surname, :forename, :email, :mobile, :mobpin, :actlink, NOW())";
$stmt = $this->dbh->prepare($sql);
if(!$stmt) {
return "st";
}
$stmt->bindParam(':surname', $this->surname);
$stmt->bindParam(':forename', $this->forename);
$stmt->bindParam(':email', $this->email);
$stmt->bindParam(':mobile', $this->mobile);
$stmt->bindParam(':mobpin', $this->mobilePin);
$stmt->bindParam(':actlink', $this->actlink);
$result = $stmt->execute();
//return var_dump($result);
$arr = array();
$arr = $stmt->errorInfo();
$_SESSION['record'] = 'OK' . $dbh->lastInsertId();
$arr .= $_SESSION['record'];
return $arr;
推荐答案
在您的代码片段中,我看到了一些可能对问题产生影响的轻微不一致.例如,在准备您使用的 SQL 语句的代码中,
In your code snippet, I saw some minor inconsistencies that may have an effect on the problem. For an example, in the code to prepare your SQL statement you use,
$stmt = $this->dbh->prepare($sql);
注意 $this
关键字.然后要检索 ID,您调用,
Notice the $this
keyword. Then to retrieve the ID, you call,
$dbh->lastInsertId();
你有没有试过使用,
$this->dbh->lastInsertId();
这篇关于PDO lastInsertId 问题,php的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:PDO lastInsertId 问题,php
基础教程推荐
- 在 yii2 中迁移时出现异常“找不到驱动程序" 2022-01-01
- 在 CakePHP 2.0 中使用 Html Helper 时未定义的变量 2021-01-01
- Doctrine 2 - 在多对多关系中记录更改 2022-01-01
- 找不到类“AppHttpControllersDB",我也无法使用新模型 2022-01-01
- HTTP 与 FTP 上传 2021-01-01
- PHP 守护进程/worker 环境 2022-01-01
- 如何在 Symfony 和 Doctrine 中实现多对多和一对多? 2022-01-01
- 如何在 XAMPP 上启用 mysqli? 2021-01-01
- 使用 PDO 转义列名 2021-01-01
- phpmyadmin 错误“#1062 - 密钥 1 的重复条目‘1’" 2022-01-01