将lastinsertid分配给变量[关闭]
Posted
技术标签:
【中文标题】将lastinsertid分配给变量[关闭]【英文标题】:assign lastinsertid to a variable [closed] 【发布时间】:2016-02-04 00:10:56 【问题描述】:我基本上是一名新程序员,具有多年的 Oracle 经验。我有一个收集家庭和成员信息的表单(它还有一个带有数据库连接的下拉列表,该连接连接到数据库以检索分支列表框)。
在 POST 上,它将信息保存到数据库中的家庭和成员表中。家庭是父表,所以必须先创建记录。然后我需要检索 home.id(一个 mysql 自动增量字段)以保存到成员表中,以将两者关联起来。
在执行对家庭表的插入时,它工作正常。我打印了自动增量字段进行检查。
$dbh->beginTransaction();
$stmt->execute();
print("lastinsertid is really = \n");
// $lastid->$dbh->lastInsertId();
print $dbh->lastInsertId();
但是我需要在下一个语句中使用它,所以需要存储它。当我这样做时(只需更改注释掉的内容),就会出现错误。
$dbh->beginTransaction();
$stmt->execute();
print("lastinsertid is really = \n");
$lastid->$dbh->lastInsertId();
// print $dbh->lastInsertId();
错误:
php 注意:未定义变量:C:\Users\Desktop\OECC\form 中的 lastid 与 lastinsertidworks.php 在第 165 行 PHP 通知:尝试在第 165 行使用 lastinsertidworks.php 获取 C:\Users\Desktop\OECC\form 中非对象的属性 PHP 致命错误:在 C:\Users\Desktop\OECC\form 中调用成员函数 lastInsertId() on null,第 165 行带有 lastinsertidworks.php
【问题讨论】:
【参考方案1】:$lastid = $dbh->lastInsertId()
您使用的是->
而不是=
【讨论】:
以上是关于将lastinsertid分配给变量[关闭]的主要内容,如果未能解决你的问题,请参考以下文章