繁体   English   中英

使用变量的SQL Update查询

[英]SQL Update query using variables

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

删除(`。Things。并运行sql查询

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

您应该使用准备好的语句,因为它比任何字符串转义机制都安全得多:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM