2016-11-05 5 views
-1

Я не знаю, что случилось с моим кодом. он говорит в строке 11 перед именем $ sqlUPDATEUsername. Я делаю изменение имени пользователя и пароля.ошибка синтаксиса, неожиданный T_ENCAPSED_AND_WHITESPACE, ожидающий T_STRING или T_VARIABLE или T_NUM_STRING

$errorEmessage = '&nbsp'; 
     $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

С кодом очень много. Для начала вам больше не нужно использовать функции 'mysql_ *'. Они устарели более 2 лет и оставляют вас широко открытой SQL-инъекцией. Другая проблема заключается в том, что вы помещаете переменные в одинарные кавычки. Это означает, что вместо переменной значения будет использоваться переменная как буквенный текст. Кроме того, 'userID ('EMPOYEE_ID')'? Я уверен, что это не допустимое имя столбца внутри mysql. – icecub

+0

Можете ли вы научить меня, как? что я должен использовать? – vdedote

+0

Я уже исправил часть EMPOYEE_ID – vdedote

ответ

-1

Вам необходимо продезинфицировать ввод пользователя. Всякий раз, когда вы вставляете строку в чужой код, вы должны избегать ее в соответствии с правилами этого языка. Например, если вы вставляете строку в какой-то SQL-таргетинг на MySql, вы должны избежать строки с функцией MySql для этой цели (mysql_real_escape_string).

использование

$NEWusername = mysql_real_escape_string($_POST['Nusername']); 

Другой пример HTML: Если вы вставлять строки в HTML-разметки, вы должны экранировать его с htmlspecialchars. Это означает, что каждое заявление эха или печати должно использовать htmlspecialchars.

+0

1) Не используйте ответы, которые ** не отвечают на вопрос **! Используйте комментарии вместо этого! 2) Не советуйте другим использовать функции для чего-то, что им не поможет. – icecub

+0

Как я могу использовать мою sql_real_escape_string? – vdedote

+0

'$ NEWusername = mysql_real_escape_string ($ _ POST ['Nusername']);' – mahethekiller

Смежные вопросы

 Смежные вопросы