2016-04-14 2 views
-1

Я попытался найти здесь ответ, а также прочитать PHP-документ на нем, однако он не очень хорошо его объясняет.PHP MYSQL Выберите последний введенный ID

Я просто пытаюсь получить последний идентификатор, вставленный пользователем. Я знаю, что MYSQL устарел, но мне нужно сделать это таким образом.

Это то, что у меня есть до сих пор.

$query="INSERT INTO teams (team_name) 
VALUES 
('$team_name')"; 
mysql_query($query) or die('error'); 

$team_id = mysql_query("SELECT LAST_INSERT_ID()"); 

Спасибо!

+1

А в чем проблема? – Chris

+1

Вам нужно сделать это так, потому что это школьный проект? Иди и расскажи своей школе, что они ошибаются ... и у них, вероятно, очень низкая безопасность в их Wi-Fi сети, и их bluetooth можно легко захватить. – Martin

+1

(Вы также нуждаетесь в *, чтобы ваш код выглядел уязвимым для SQL-инъекции? Есть ли необходимость * во избежание правильного экранирования значений, включенных в текст SQL ?.) После выполнения инструкции SELECT с использованием (устаревшей) mysql_query, который должен либо возвращать набор результатов, либо возвращать FALSE (как и любой другой оператор SELECT, который вы запускаете). Вы можете проверить, является ли возврат FALSE, поэтому на следующей строке (не показана), когда вы извлекаете строку из resultset, что происходит? (Вы задавали * вопрос * или просто давали отчет о состоянии?) Стол имеет столбец AUTO_INCREMENT? – spencer7593

ответ

1

Вы можете сделать это с помощью PHP. Вам не нужен запрос: mysql_insert_id()

+0

Посмотрите, что большой красный ящик на странице со ссылками? Функции 'mysql_' больше не должны использоваться – kero

+1

@kingkero OP специально заявила, что необходимо использовать устаревшее расширение' ext/mysql'. – Mike

+2

@kingkero позволяет быть справедливым, вам, вероятно, следует проголосовать за другой ответ тоже за использование 'MySQL_' :-D – Martin

1

Посмотрите на mysql_insert_id() http://php.net/manual/de/function.mysql-insert-id.php

Но остерегайтесь проблем при использовании ON DUPLICATE KEY UPDATE заявления. Он описан в комментариях на странице php doc.

Но ваше решение также должно работать.

Кроме того, если вы используете mysql, не забудьте указать mysql_real_escape ваши данные, $team_name в вашем случае.

[вставить обязательно MySQL осуждается предупреждение здесь;)]

+1

удалите цитаты .. просто '$ team_id = mysql_insert_id();' – arkuuu

Смежные вопросы