клонируется удаленная строка в phpmyadmin

Здравствуйте, Александр. Пробовал по-разному сформулировать суть своего вопроса в поисковике, но ни единого поста по моему случаю, по крайней мере, то что могло бы помочь! Создал базу данных в phpmyadmin, в ней разместил таблицу. Через INSERT начал наполнять таблицу. Заметил, что при каждом обновлении страницы - запись дублируется. Почитал - это нормальное поведение INSERT. Начал удалять лишние (продублированные записи) - некоторые записи начали появляться с другими id. То-есть, количество записей остается неизменным (я так понимаю, выбранные элементы удаляются и тут же появляется такое же количество аналогичных записей, но только со следующими id по порядковому номеру). Аналогичное поведение, как в майадмине, так и через оператор DELETE в php документе. Отключил соединение с базой данных в php документе, все закоментировал. Перешел в майадмин, в таблице выбрал все записи и удалить. Все удалилось, а одна запись в 20 экземплярах осталась! Никак не поддается удалению. Это глюк базы? Или существует конкретная причина? Хочу разобраться с этим вопросом, так как появление подобной проблемы при работе с действующей объемной базой данных может обойтись в месяц, а то и более, трудоемкой и ненужной работы! СПАСИБО!
Изображения:

Комментарии: 7

Sergey
Sergey
Александр, не хочу отнимать ваше время на «глупые вопросы». На форуме мне объяснили что к чему, как оказалось, редирект мне не нужен, в моем случае. Попробую реализовать запрос на уникальность для Insert. A редирект уже буду приобщать к форме!
СПАСИБО вам за помощь!
Sergey
Sergey
Спасибо, Александр, за эти ценные советы! Вероятно, вы сможете его подкорректировать, понимая задачу кода. Везде, на всех форумах натыкаюсь на информацию о необходимости использовать Post/Redirect/Get после INSERTA (в т.ч. и для формы)(https://ru.wikipedia.org/wiki/Post/Redirect/Get). Это важный инструмент и нужно разобраться с ним. Многократно он будет полезен для меня.
Суть в том, что мне нужно после отправки запроса, например, POST сообщения (ну когда форму php скрипт будет обрабатывать), вместо вывода результата произвести РЕДИРЕКТ (перенаправление) на эту же страницу. Все советую использовать редирект и предлагают описанный выше код!!! Вероятно, какая-то мелочь и этот код некорректно работает!!!
Александр, подскажите, пожалуйста, в каком виде этот код заработает? Спасибо.

PS: ваш совет о PDO я наполовину понял. Код PDO создал, он работает — но при обновлении та же история, что и INSERT.
Sergey
Sergey
Здравствуйте Александр, надеюсь, получить от Вас «уразумения»!
Относительно описанной выше ситуации — появились дополнительные сведения.
На образовательном ресурсе по программированию, я уточнил код, что меня интересовал. И вот, та же проблема с базой данных.
В БД я увидел на странице 20 дубликатов, удалил — еще появился. Закоментировал я код и обновил браузер, а там 100 дублей. Обратил внимание, что в БД на странице у меня отображается 25 строк! В ЭТОМ КРОЕТСЯ ПРИЧИНА НЕПОНЯТНОГО, С НАЧАЛА, ПОВЕДЕНИЯ БД. Удалил все 100 дублей — корректно все исчезло.
ВОПРОС, ЧТО НЕ ТАК В ЭТОМ «ЗЛОКОДЕ»?
$query = "INSERT INTO movie VALUES(null, 'mmm', 'gggggg', '2019', Now())";
if($mysqli->query($query)) {
     header("Location: " . $_SERVER['REQUEST_URI']);
     exit();
}
СПАСИБО
Александр Мальцев
Александр Мальцев
Ошибка в этой строке:
header("Location: " . $_SERVER['REQUEST_URI']);
Здесь вы перенаправляете на этот же скрипт. В результате этот скрипт будет выполнен очень много раз из-за переадресации на самого себя. Это будет происходит столько раз, пока сервер не остановит это. В вашем случае это 25 раз или какое-то другое, которые вы указали выше.
Sergey
Sergey
Спасибо, Александр за ответ! Понаблюдаю еще за работой phpmyadmin.
Sergey
Sergey
выбрал опцию — очистить БД, все записи с таблицы исчезли. Заново наполняю данными.
Вопрос остался открытым. Причина и пути решения непонятны!
Александр Мальцев
Александр Мальцев
Здравствуйте! Не знаю из-за чего у вас не смогли удалиться записи из таблицы базы данных. Может какая-то проблема в phpMyAdmin.