@yaslonane

Почему некорректное обновление данных 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 отрабатывает правильно.
  • Вопрос задан
  • 79 просмотров
Решения вопроса 1
@yaslonane Автор вопроса
Нашёл ошибку. После выполнения кода из вопроса вызывалась функция:
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. Исправил в итоге переименование кнопок + очередность в роутах поменял. Может кому пригодится.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
toxa82
@toxa82
Не может такого быть, он меняет только то что указано.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы