Доступ к последней строке, добавленной в таблицу - PHP - PullRequest
1 голос
/ 14 декабря 2010

У меня есть простой SQL-запрос, добавляющий новую строку в базу данных, и мне нужно, чтобы он возвратил поле обратно в Javascript.Поле делает Auto_increment, но глупо, я назвал его itemId, поэтому mysql_insert_id не работает, и я не думаю, что у меня есть время, чтобы пойти и исправить все php-файлы, которые используют itemId

Вот мой код, еслиэто помогает:

$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 ]

2 голосов
/ 14 декабря 2010

Я никогда не слышал, чтобы присвоение имени столбцу itemId ломало mysql_isert_id ().

Но вы можете просто выбрать последнюю вставленную запись, если auto_increment работает.

SELECT * FROM newsItems ORDER BY itemId DESC LIMIT 1

Вы можете поместить оператор select в транзакцию с оператором вставки, если вы используете innoDB и беспокоитесь о состоянии гонки.

1 голос
/ 14 декабря 2010
mysql_query("SELECT LAST_INSERT_ID()");

Разве это не то, что вы ищете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...