Sanering en sträng tjänar till att få den att överensstämma med vissa förväntningar. FILTER_SANITIZE_EMAIL
tar bort alla tecken från en sträng som skulle vara ogiltiga i ett e-postmeddelande. Resultatet är (förmodligen) garanterat att överensstämma med e-postadresssyntax. Hur användbart det är att slumpmässigt ta bort tecken från en sträng ska jag överlåta till dig. (Tips:Jag tror inte att det är särskilt användbart alls; du bör hellre avvisa ogiltiga adresser än att omvandla dem till slumpmässiga resultat. Jag ger dig en ogiltig e-postadress, du hamrar den till någon form som liknar en e-postadress, nu hur vet du att du kommer att kunna skicka ett mejl till mig...?!)
mysql_real_escape_string
är till för att säkerställa att en godtycklig sträng inte bryter mot SQLs bokstavliga syntax för strängar genom att escape-värda tecken. Förutsatt att du använder det korrekt (många fallgropar som mysql har, vilket är anledningen till att det är utfasat...), finns det inget du kan göra med dess input som skulle få det att misslyckas. Om du ger den vilken godtycklig sträng som helst, den ger dig den escaped versionen, punkt.
Som sådan, i allmänhet, ja, det du gör är bra. Om mysql_real_escape_string
är den sista sak du gör med din sträng innan du interpolerar den till en SQL-sträng, så är det bra.