0

現在、MySQLi データベースを介してユーザーを禁止する禁止フォームを作成していますが、現在、ユーザーを禁止しようとすると、「アクティブ」が 2 ではなく 0 に変更され、禁止理由が更新されません... コードは次のとおりです。

$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 に答える