MySQLi没有正确更改数据库变量

时间:2013-06-07 22:23:42

标签: php mysqli

我目前正在创建一个禁止用户通过MySQLi数据库的禁令表单,但是目前当我尝试禁止它们时,'active'会更改为0而不是2并且banreason不会更新...这里是代码

$qry = "UPDATE members SET active = '2' AND breason = '".$_POST['reason']."' WHERE login =  '".$_POST['login']."'";
$result = @mysqli_query($GLOBALS["___mysqli_ston"], $qry);
if($result) {
    header("location: banneduser?login=$login&reason=$reason");
    exit();
}else {
    die("Error:".((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)));
}

我在页面上没有收到任何错误。

1 个答案:

答案 0 :(得分:1)

尽管你的评论是不安全的,但你对此感到满意,columns to be updated should not be separated by the AND operator in an UPDATE statement

UPDATE [LOW_PRIORITY] [IGNORE] table_reference
    SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
    [WHERE where_condition]
    ...

用逗号替换AND