Вы можете изменить запрос SQL, чтобы обновлять только столбцы, для которых у вас есть данные, или заполнить любые неопределенные значения в $insert_data
, используя значения, полученные из базы данных.Первое, вероятно, является лучшей идеей, но второе легче реализовать.
Я не писал немного PHP, но, возможно, что-то вроде:
if(isset($_POST["updateBTN"])) {
$query = "SELECT title, keywords, img, widht, staus, name, height FROM table WHERE title = :title";
$stmt = $conn->prepare($query);
$stmt->execute(array(":title" => $_POST['title']));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$insert_data = array(
':title' => $_POST['title'] ? $_POST['title'] : $row['title'],
':keywords' => $_POST['keywords'] ? $_POST['keywords'] : $row['keywords'],
...
);
$query = "UPDATE table SET keywords = :keywords, img = :img, widht = :widht, status = :status, name = :name, height = :height WHERE title = :title";
$statement = $conn->prepare($query);
$statement->execute($insert_data);
}