使用变量的SQL Update查询

时间:2016-07-10 10:00:24

标签: php mysql sql

我正在编写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中捕获的输入字段的名称。

2 个答案:

答案 0 :(得分:1)

删除(`。的东西。并运行sql查询

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

答案 1 :(得分:0)

您应该使用预准备语句,因为它被认为比任何字符串转义机制更安全:

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

现在您的更新查询应该可以正常工作,而且更加安全。