Я работаю над очень простым проектом, в котором мне нужно обновить значение одного столбца в базе данных sqlite3 через отправку формы. База данных general_settings имеет только два столбца, и каждый из них должен содержать только 1 значение, которое должно быть заполнено, если оно пусто, или обновлено, если оно уже существует.
Я успешно могу использовать оператор INSERT, однако он продолжает добавлять несколько строк вместо замены существующей. Если столбец пуст, он должен вставить значение, однако, если данные столбца уже существуют, он должен заменить его, сохраняя только 1 значение для столбцов page_title и page_meta_description.
Я также попытался добавить оператор UPDATE под оператором INSERT однако после его запуска в базе данных ничего не сохраняется.
Я также пробовал запустить только оператор UPDATE без INSERT, но он также не сохраняет никаких значений внутри базы данных.
Мой код для создания таблицы:
$file_db->exec("CREATE TABLE IF NOT EXISTS general_settings (
page_title TEXT,
page_meta_description TEXT)");
Мой код внутри php файла, который должен обновлять значения столбца:
$page_title = htmlspecialchars($_POST["title_meta_tag"]);
$page_meta_description = htmlspecialchars($_POST["description_meta_tag"]);
$insert = "INSERT INTO general_settings (page_title, page_meta_description) VALUES (:page_title, :page_meta_description)";
$insert = "UPDATE general_settings SET page_title = :page_title, page_meta_description = :page_meta_description";
$stmt = $file_db->prepare($insert);
$stmt->bindValue(':page_title', $page_title);
$stmt->bindValue(':page_meta_description', $page_meta_description);
$stmt->execute();