0

我目前正在创建一个禁止表单,通过 MySQLi 数据库禁止用户,但是目前当我尝试禁止他们时,“活动”更改为 0 而不是 2,并且禁止原因没有得到更新......这是代码

$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)));
}

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

4

1 回答 1

1

尽管考虑到注释,您的代码是不安全的并且您对此表示满意,但要更新的列不应在 UPDATE 语句中由 AND 运算符分隔

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

AND用逗号替换您的。

于 2013-06-07T22:52:23.837 回答