2014-02-15 7 views
0

Запрос не обновляется, не уверен, что я сделал неправильно.php sql не работает

$q_result = mysql_query("UPDATE 
          users 
         SET 
          recovery_answer = '".$_POST['answer']."', 
          recovery_question = '".$_POST['question']."', 
          date_question_set = '" . mysql_real_escape_string($register_date) . "' 
         WHERE 
          username='" . mysql_real_escape_string($_SESSION['username']) . "'"); 
+1

С одной строкой кода трудно сказать. Является 'session_start();' внутри всех используемых файлов? –

+0

Вы _must_ вызываете 'mysql_real_escape_string()' на _all_ этих входов '$ _POST'. Вы сделали это для большинства из них, остальное тоже. –

+0

'echo mysql_error();' для его отладки. Между тем, пришло время начать планировать переход от 'mysql _ *()', который устарел в PHP 5.5. Я бы рекомендовал [этот учебник PDO] (http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers), чтобы начать обучение использованию подготовленных операторов в PDO. –

ответ

1

Можете ли вы издать "UPDATE users SET recovery_answer = '".$_POST['answer']."', recovery_question = '".$_POST['question']."',
date_question_set = '" . mysql_real_escape_string($register_date) . "' WHERE username='" . mysql_real_escape_string($_SESSION['username']) . "'"
и опубликовать?

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