2012-08-08 128 views
0

我试图从插件中获取最后一个插入ID,我正在为PHP中的vBulletin创建过程。由于某种原因,它似乎没有工作......任何想法,我怎么去做呢?如何获取vBulletin的最后一个插入ID

  • 查询是插入精细使用$db->query_write($sql_i);
  • 的文档我发现我需要使用$db->insert_id

全码状态:

$sql_i = "INSERT INTO classifieds_item (".$i_fieldnames.",`date_posted`) values (".$i_values.",NOW())"; 

$db->query_write($sql_i); 

header("location: classifieds.php?class_act=add_img&id=".$db->insert_id); 

这是使用标准vBulletin数据库类。

任何想法?

回答

4

INSERT_ID()是一个函数,所以

header("location: classifieds.php?class_act=add_img&id=".$db->insert_id()); 

应该工作。关键点是$ db-> insert_id和$ db-> insert_id()之间的区别。

+0

谢谢 - 我不能投票给你,因为我是新来的,但是解决了它 – trvo 2012-09-13 12:54:00

0

你试过mysql_insert_id()http://php.net/manual/en/function.mysql-insert-id.php

它将由以前INSERT返回最后一个ID为AUTO_INCREMENT列。

值得注意的是,PHP文档也建议使用替代方法,因为此方法现在不鼓励。

+0

感谢您的回复,但由于我正在构建一个可移植插件,因此我需要坚持使用vBulletin类。为了让原生的PHP函数正常工作,我需要一个我没有的资源标识符,并且必须重写该插件才能满足这个要求。这是客户的要求。 – trvo 2012-08-08 20:47:14