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

时间:2010-12-14 16:16:06

标签: php sql database

我有一个简单的SQL查询向数据库添加一个新行,需要它将一个字段返回给Javascript。该字段执行Auto_increment但是stupildy我将其称为'itemId',因此mysql_insert_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());

2 个答案:

答案 0 :(得分:2)

我从来没有听说过命名列itemId破坏了mysql_isert_id()。

但是如果auto_increment工作正常,你可以选择最后插入的记录。

SELECT * FROM newsItems ORDER BY itemId DESC LIMIT 1

如果您正在使用innoDB并且您担心竞争条件,则可以将select语句放入带有insert语句的事务中。

答案 1 :(得分:1)

mysql_query("SELECT LAST_INSERT_ID()");

这不是你想要的吗?