Дубликат данных при insert, как исправить?
0
При вставке данных с помощью INSERT одна и та же строка добавляется при каждом обновлении. Как этого избежать?
<?php
$mysqli = new mysqli('localhost', 'root', '', 'kinomonster');
if(mysqli_connect_errno()) {
print_f("Соединение не установлено", mysqli_connect_error());
exit();
}
$mysqli->set_charset('UTF8');
$query = $mysqli->query('SELECT * FROM music');
while($row = mysqli_fetch_assoc($query)) {
echo $row['name']." - ".$row['author']."<br>";
}
$query = "INSERT INTO music VALUES(null, 'Nothing else matters', 'Metallica')";
$mysqli->query($query);
$mysqli->close();
?>
2 ответов
0
Спасибо!!
1
Страница когда загружается, выполняется код insert и при каждой перезагрузки страницы будет происходить вставка в базу данных. Нужно html форму создать и выполнять код insert по нажатию на кнопку из формы.
Тут есть пример задания плеер в первом ответе, вместе с базой данных:
https://fructcode.com/ru/qa/php-mysql-domasnee-zadanie-57-uroka-tgukud/
Там где код вставки, нужно добавить редирект, чтобы при обновлении страницы данные не вставлялись повторно:
if($mysqli->query($query)) { // Если выполнился query
// Здесь редирект
header("Location: " . $_SERVER['REQUEST_URI']);
exit();
}
От сюда:
https://fructcode.com/ru/qa/pochemu-pri-kajdom-obnovlenii-tablisi/