2013-10-10 3 views
-3

мой код не работает, возможно, из-за инструкции where. пожалуйста, помогите мне с тем, что не так с этой строкой кода.Как обновить поле в базе данных?

запрос:

mysql_query("UPDATE tblceas_vote SET fldpassword= $three WHERE fldstudno =$login"); 
+0

Уверены ли вы в значениях, если переменные? Они не пустые? – JAL

+0

Кстати, узнайте о [SQL-инъекциях] (http://en.wikipedia.org/wiki/SQL_injection) и хэшировании паролей (например, bcrypt). – luiscubal

ответ

2

Котировки, вероятно, поможет:

mysql_query("UPDATE tblceas_vote SET fldpassword= '$three' WHERE fldstudno ='$login'"); 

В противном случае правильный способ заключается в использовании Экранирование: http://php.net/manual/en/function.mysql-real-escape-string.php

+0

не использовать 'l'arrosoir' в качестве пароля –

0

Положите одиночные кавычки или избежать строки:

mysql_query("UPDATE tblceas_vote SET fldpassword='$three' WHERE fldstudno='$login'"); 

Или

mysql_query("UPDATE tblceas_vote SET fldpassword='".$three."' WHERE fldstudno='".$login."'"); 

отметить также, что MYSQL является устаревшим, и вы должны использовать MySQLi или PDO вместо этого.

0

Согласен. Цитата определенно требуется для текста в запросах. Также я предлагаю вам «убежать» от вашего контента (посмотрите на mysqli_real_escape_string).

Если вы когда-либо сталкиваетесь с «цитатой» внутри вашей строки, это нарушит ваш запрос, если вы не избежите его.

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