Запрос SQL Update с использованием переменных

Я пишу php для обновления баланса пользователя, но мой запрос UPDATE выдает ошибку при его выполнении.

    $student = $database->quote($_POST ["studentID"]);
$amount = $database->quote($_POST ["update_balance"]);

//sets query to update user balance
$query = "UPDATE `User` SET `balance`= (`.$amount.`) WHERE `userID`= (`.$student.`)";
//excecutes the query
$database->exec($query);

‘StudentID’ и ‘update_balance’ являются именами полей ввода, захваченных в HTML.

0

Решение

удалить (`. вещи. и запустить SQL запрос

$query = "UPDATE `User` SET `balance`= '$amount' WHERE `userID`= '$student'";
1

Другие решения

Вы должны использовать подготовленные операторы, так как это считается намного безопаснее, чем любой механизм экранирования строк:

$statement = $somePdoInstance->prepare("UPDATE user SET balance = :balance WHERE userId = :user_id");
$statement->execute(array(
"balance" => $amount, // the values from POST
"user_id" => $student
));

Теперь ваш запрос на обновление должен работать нормально, и это намного безопаснее.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector