我正在编写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 :(得分: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
));
现在您的更新查询应该可以正常工作,而且更加安全。