2016-11-11 3 views
0

Я хочу хранить LAST_INSERT_ID() aka Case_ID и называть его на другой странице html. Как мне это сделать?Храните переменную php и назовите ее на странице html

$query.= "insert into Picture (Case_Pic,Case_ID) 
      values ('" .addslashes($imagefile). "', LAST_INSERT_ID())" ; 
+0

нужна дополнительная информация, непонятный вопрос – Karthi

+0

** Опасность **: вы уязвимы для [SQL-атак] (http://bobby-tables.com /) **, что вам нужно [защищать] (http: // s tackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php) от вас. 'addlashes' недостаточно. – Quentin

ответ

0

Сохраните его во время сеанса. Как у вас есть идентификатор следующим образом:

$id = '112'; 
session_start(); 
$_SESSION['case_id'] = $id; 

, а затем в другой HTML-страницы:

<?php 
session_start(); 
//Now you can use $_SESSION['case_id'] however you want here. 
?> 

Я надеюсь, что это помогает

0

EDIT: Просто понял, что вы, возможно, также нужен способ для получения последнего идентификатора вставки.

Как я вижу из вашего кода, вы, кажется, запускаете 2 запроса и используете последний идентификатор вставки предыдущего запроса в следующий запрос, если я не ошибаюсь.

Если это так, вам нужно будет отделить запросы, а в конце запроса вставки таблицы case используйте mysqli_insert_id, если вы используете MySQLi (что вам нужно).

Пример кода:

$query = "INSERT INTO `Case` (`Case_name`) VALUES ('".mysqli_real_escape_string($db,$case_name)."')"; $q_obj = mysqli_query($db, $query); $case_id = mysqli_insert_id($db); $query2 = "INSERT INTO `Picture` (`Case_Pic`,`Case_ID`) VALUES ('".mysqli_real_escape_string($db, $imagefile)."', '".mysqli_real_escape_string($db, $case_id)."')"; И потом, вам нужно будет передать его на страницу HTML через параметр строки запроса: header('Location:success.html?case_id='.$case_id);

И в вашей HTML страницы, чтобы получить строку запроса с помощью JavaScript параметры, проанализировать их и извлечь параметр строки запроса case_id

+1

его плохая практика использования URL для отправки важных данных в качестве идентификатора. Это может привести к рискам безопасности. – Learner

+0

Согласовано, но код на стороне сервера также должен быть правильно закодирован и должен следовать лучшим методам дезинфекции ** всех ** переменных, чтобы предотвратить SQL-инъекцию, а затем ее можно использовать без каких-либо проблем. Я не вижу никаких проблем с использованием первичного ключа таблицы, если код на стороне сервера написан правильно. Сообщите мне, если это все еще не так. –

+0

Да, но это не значит, что вы не должны заботиться и использовать более безопасный способ, где бы вы ни выбрали. – Learner

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