我不知道我的代码有什么问题。它在$ sqlUPDATEUsername之前的第11行说。我正在做更改用户名和密码的事情。
$errorEmessage = ' ';
$NEWusername = $_POST['Nusername'];
$CONusername = $_POST['Conusername'];
$NEWpassword = $_POST['Npassword'];
$CONpassword = $_POST['Conpassword'];
$sqlUPDATEUsername = "UPDATE user_accounts SET USERNAME = '$NEWusername' WHERE EMPOYEE_ID = $_SESSION['ID']";
$sqlCheckUsername = "SELECT * FROM user_accounts WHERE userID('EMPOYEE_ID') = $_SESSION['ID']";
$RunSqlCU = mysql_query($sqlCheckUsername);
$row = mysql_fetch_array($RunSqlCU);
答案 0 :(得分:-1)
您需要清理用户输入。
无论何时在外部代码中嵌入字符串,都必须根据该语言的规则对其进行转义。例如,如果在某些SQL目标MySql中嵌入一个字符串,则必须为此目的使用MySql函数转义该字符串(mysql_real_escape_string)
。
使用
$NEWusername = mysql_real_escape_string($_POST['Nusername']);
另一个例子是HTML:如果在HTML标记中嵌入字符串,则必须使用htmlspecialchars
对其进行转义。这意味着每个echo或print语句都应使用htmlspecialchars
。