Почему некорректное обновление данных mysql из php?
Выполняю такой код:
$db = Db::getConnection();
$title_price = filter_input(INPUT_POST, 'title_price');
$info_price = filter_input(INPUT_POST, 'info_price');;
$stmt = $db->prepare("UPDATE general SET title_price=:title_price, info_price=:info_price WHERE id=1");
$stmt->bindParam(':title_price', $title_price);
$stmt->bindParam(':info_price', $info_price);
return $stmt->execute();
Стирает данные в столбцах, стоящих до этих двух, которые я не указываю коде, в последующих столбцах не стирает. В phpmyadmin отрабатывает правильно.
Нашёл ошибку. После выполнения кода из вопроса вызывалась функция:
self::checkAdmin();
$message = false;
if(filter_input(INPUT_POST, 'save') !== null){
$message = info::setUpdateInfo();
}
$gen_inf = info::getInfo();
require_once (ROOT . ADM_TMPL . 'index.php');
return true;
}
И т.к. изначально был передан post с именем кнопки 'save', начинала отрабатывать эта функция по условию, а т.к. не были переданы параметры по нужным полям в базу забивались null. Исправил в итоге переименование кнопок + очередность в роутах поменял. Может кому пригодится.