La riga della query e' un casino, di sicuro in fondo c'e' un " (e un ; ) di troppo.
Comunque non ha senso scrivere righe cosi', lunghe e piene di concatenamenti con apertura e chiusura di apici e virgolette. Ci vuole estrema confidenza oppure si fa solo confusione.
Assegna delle variabili, non e' necessario eseguire i comandi inline.
Codice PHP:
$password = md5($MD5_PREFIX.$NEWPASSWD);
$username = addslashes($TPL_username); /* anche se mysql_real_escape_string() sarebbe meglio */
$query = "UPDATE users
SET password = '$password'
WHERE nick = '$username'";
Ok sono piu' righe ma guarda come e' piu' leggibile di:
Codice PHP:
$query = "update users set password='".md5($MD5_PREFIX.$NEWPASSWD)."' WHERE nick=\"".AddSlashes($TPL_username)."\"";";
e come e' piu' facile individuare eventuali errori.