【发布时间】:2012-02-16 21:10:36
【问题描述】:
我正在使用 ADODB 连接到我的数据库。 提交查询后,我想获取最后插入行的 ID(来自刚刚插入的查询)。
ADODB 有一个 Insert_ID() 函数应该检索它,但它不是...db->Insert_ID()
不工作,db->Insert_ID($table, $key)
它们都只返回空值。 我仔细检查了我的表,插入语句确实在工作,正在放入一个新行,关键是 auto_increment。我使用的 Insert_ID 错误还是有更好的方法来检索插入的最后一行的键?
谢谢
编辑:添加代码
$result = \PSU::db->Execute( $updateSQL, $values_array );
$id = \PSU::db->Insert_ID();
// $id = \PSU::db->Insert_ID( $table, $key );
\PSU::db 是我们的 ADODB 实现类,负责连接、断开等操作。
【问题讨论】:
-
向我们展示您正在使用的确切代码。
-
试试这个 $db->_connectionID->insert_id;插入后
-
Insert_ID()没有参数,仅当数据库支持自增 ID 时才返回最后一个插入 ID。如果不支持,则返回FALSE。 -
正如我在帖子中所说,该表确实支持自动增量
-
关于您的编辑:请展示您如何将对象分配给类常量。我想知道你是如何神奇地做到这一点的。