Привет, у меня есть форма (X), которая вставляет данные в таблицу mysql (A) и перенаправляет на другую форму (Y), которая будет вставлять данные в другую таблицу (B), но мне нужно использовать таблицы. Последняя вставленная строка,
Я знаю, что могу получить его от использования функции mysqli_insert_id
, но когда я представляю форму Y, а re показать форму Y, это беспорядок, потому что значение $ID
является нулевым. Я попытался ввести значение id, выполнив это.
$id = (int)mysqli_insert_id($link);
но это не помогло.
Вы можете использовать сеансы для хранения значения, пока вы обрабатываете форму X, которую затем можно получить по форме Y.
X
session_start();
$_SESSION['insert_id'] = 42;
У
session_start();
$insert_id = $_SESSION['insert_id']; // 42
См. руководство для примера того, как уничтожить сеанс после того, как вы закончите с ним.
Вам нужно будет сохранить результаты mysqli_insert_id между формами, либо через файлы cookie, либо сеансовые, либо скрытые входы.
Так как mysqli_insert_id вернется только для экземпляра подключения, на который он вызвал, а не из базы данных в целом, когда вы переходите к другой форме, исходное соединение будет закрыто, а новый открыт, который не вставил какой-либо идентификатор ( Следовательно, нулевое значение).
Я бы лично пошел с сессией, но все зависит от ваших требований безопасности.