Я пытаюсь обновить значение в базе данных MySQL с помощью следующей функции, которая создает оператор обновления, который вычитает значение $ мест переменные в от существующего значения в местах поля в базе данных. Код ниже возвращает 0 вместо уменьшения значения мест по значению переменной $ seat.Обновления база данных MySQL с помощью PHP заявления
$update_seats = update_places($id);
function update_places($id) {
global $modx;
$table = "`database_name`.`table_name`";
$update_seats = '`places`' - $seats;
$result = $modx->db->update('`places` = ' . $update_seats, $table, '`id` = "' . $id . '" AND `places` > 0');
return $result; // Returns 'true' on success, 'false' on failure.
}
Любая помощь с корректировкой мой синтаксис очень ценится.
Я думаю, вам нужно изменить '$ update_seats = '\' places \ '' - $ seat;' by: '$ update_seats = '\' places \ '-'. $ seat; ' – Seb33300
Какова ваша переменная $ modx? Похоже, вы не определили $ seat. –
Hi Seb33300 - спасибо вам за помощь. Я пробовал ваше предложение со следующим сообщением об ошибке: 'SQL> UPDATE' имя_базы_'''_ имя_ '' '' '' '' '' '' (значение $ seat должно быть здесь) WHERE 'id' =" 1104 " AND 'places'> 0' Значение переменной $ seat не отправляется. Он объявляется далее на странице вне funtion. – Twobears