Higienização uma string serve para torná-la conforme a certas expectativas.
FILTER_SANITIZE_EMAIL
remove quaisquer caracteres de uma string que seriam inválidas em um email. O resultado é (supostamente) garantido para estar em conformidade com a sintaxe do endereço de e-mail. Quão útil é a remoção aleatória de caracteres de uma string, deixarei para você. (Dica:eu não acho que seja muito útil; você deve rejeitar endereços inválidos do que transformá-los em resultados aleatórios. você sabe que pode me enviar um e-mail...?!) mysql_real_escape_string
está lá para garantir que uma string arbitrária não viole a sintaxe literal de string do SQL, escapando todos os caracteres dignos de escape. Supondo que você o esteja usando corretamente (muitas armadilhas o mysql tem, e é por isso que ele está obsoleto...), não há nada que você possa fazer com sua entrada que o faça falhar. Você fornece qualquer string arbitrária, ela retorna a versão com escape, ponto final. Como tal, em geral, sim, o que você está fazendo está bem. Se
mysql_real_escape_string
é o último coisa que você faz com sua string antes de interpolá-la em um literal de string SQL, então está tudo bem.