2012-01-23 111 views
3

我正在使用ADODB连接到我的数据库。 我提交查询后,我想获取最后一个插入行的ID(从刚插入的查询中)。获取最后插入的索引mysql

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实现类,如连接,断开连接等

+0

向我们显示您正在使用的确切代码。 –

+0

试试这个$ db - > _ connectionID-> insert_id;插入后 –

+2

['Insert_ID()'](http://phplens.com/lens/adodb/docs-adodb.htm#inserted_id)没有参数,并且只有当数据库支持自动递增ID时才返回最后一个插入ID 。如果不支持,则返回'FALSE'。 – hakre

回答

0

采取的后事有没有可能你正在断开并重新连接到查询和insert_id()之间的mysql?

0

试试这个:

$result = \PSU::db->Execute($updateSQL, $values_array); 

return \PSU::db->_connectionID->insert_id ; 

_connectionID必须固定不变。

希望它有帮助!