Bem, há um grande mal-entendido.
mysql_real_escape_string() não limpar qualquer coisa. Não tem absolutamente nada a ver com segurança.
Esta função é usada apenas para delimitadores de escape e nada mais. Ele pode ajudá-lo a colocar dados de string na consulta SQL - isso é tudo.
Então, cada string que você vai colocar na consulta (colocando entre aspas), você tem que prepará-la com esta função. Em todos os outros casos seria inútil ou mesmo prejudicial.
Assim,
com esse mal-entendido, você está cometendo 2 grandes erros aqui:
- você está usando esta função não com dados que realmente vão para a consulta
- você pode estragar sua senha adicionando alguns símbolos a ela, tornando-a inutilizável
Além disso, como uma nota lateral, tenha em mente que esta função deve ser sempre usada em conjunto com mysql_set_charset, ou então um
"_real_"
parte desta função torna-se inútil