Bueno, hay un gran malentendido.
mysql_real_escape_string() no limpiar cualquier cosa. No tiene nada que ver con la seguridad en absoluto.
Esta función se usa solo para escapar de los delimitadores y nada más. Puede ayudarlo a colocar datos de cadena en una consulta SQL, eso es todo.
Entonces, cada cadena que vas a poner en consulta (entre comillas), tienes que prepararla con esta función. En todos los demás casos sería inútil o incluso perjudicial.
Por lo tanto,
fuera de este malentendido, estás cometiendo 2 errores importantes aquí:
- está utilizando esta función, no con datos que en realidad van a la consulta
- puede estropear su contraseña añadiéndole algunos símbolos, por lo que se vuelve inutilizable
Además, como nota al margen, tenga en cuenta que esta función siempre debe usarse junto con mysql_set_charset, o de lo contrario un "_real_"
parte de esta función se vuelve inútil