Bene, c'è un grosso malinteso.
mysql_real_escape_string() non pulito qualsiasi cosa. Non ha nulla a che fare con la sicurezza.
Questa funzione viene utilizzata solo per sfuggire ai delimitatori e nient'altro. Può aiutarti a inserire dati di stringa in una query SQL:tutto qui.
Quindi, ogni stringa che intendi mettere in query (mettendola tra virgolette), devi prepararla con questa funzione. In tutti gli altri casi sarebbe inutile o addirittura dannoso.
Pertanto,
da questo malinteso, stai facendo 2 errori principali qui:
- stai utilizzando questa funzione non con i dati che stanno effettivamente andando alla query
- puoi rovinare la tua password aggiungendovi alcuni simboli, in modo che diventi inutilizzabile
Inoltre, come nota a margine, tieni presente che questa funzione dovrebbe essere sempre utilizzata insieme a mysql_set_charset, o altrimenti a "_real_"
parte di questa funzione diventa inutile