访问添加到表-PHP的最后一行

访问添加到表-PHP的最后一行,php,sql,database,Php,Sql,Database,我有一个简单的sql查询,将新行添加到数据库中,并需要它将a字段返回到Javascript。该字段会自动递增,但我称之为'itemId',所以mysql\u insert\u id不起作用,我想我没有时间去修改所有使用'itemId'的php文件 以下是我的代码(如果有帮助): $addMainItem = "INSERT INTO newsItems (itemId, title, date, tags, location, latitude, longitude, visibleFrontp

我有一个简单的sql查询,将新行添加到数据库中,并需要它将a字段返回到Javascript。该字段会自动递增,但我称之为'itemId',所以
mysql\u insert\u id
不起作用,我想我没有时间去修改所有使用'itemId'的php文件

以下是我的代码(如果有帮助):

$addMainItem = "INSERT INTO newsItems (itemId, title, date, tags, location, latitude, longitude, visibleFrontpage, introText, fullDome, liveEvent, customServing, visitorAttraction, retail, digitalCinema, visiblePublic, thumbPath, links, smallDesc) VALUES ('','$title','$date','$tags','$loco','$lat','$long','$visiFront','$intro','$dome ','$live','$custom','$attrac','$retail','$cinema','$public','$thumbPath','$links','$smallDesc')";
$result = mysql_query($addMainItem) or die('error '.mysql_error());

if($result) echo (mysql_insert_id());

我从未听说过命名列itemId会破坏mysql\u isert\u id()

但是,如果自动增量正在工作,您可以只选择最后插入的记录

SELECT * FROM newsItems ORDER BY itemId DESC LIMIT 1
如果您使用innoDB并且担心竞争条件,那么可以将select语句与insert语句一起放入事务中

mysql_query("SELECT LAST_INSERT_ID()");

这不是你想要的吗?

你的域名应该没有问题。该函数实际上查找“auto_increment”类型的第一个字段,该字段在上次查询中更新。在php.net中:“检索由上一个查询(通常是插入)为自动增量列生成的ID。”啊,你是对的。似乎是因为我在一个单独的php文件中包含了连接,所以它返回了未定义的连接。当我将连接PHP移到同一个文件中时,它开始工作。事实证明,itemId不是问题所在,而mysql_iSeries_id()在我将一些PHP移到同一个文件中时确实起作用。