Jeśli chodzi o wstrzyknięcie sql, przełączyłbym się na PDO za pomocą przygotowanej instrukcji .
Możesz użyć prostego is_array() na swoich wartościach, aby sprawdzić tablicę, a następnie przejść przez nią w pętli. Masz rację, tak jak jest, twój filter funkcja nie obsługuje poprawnie tablic.
Edytuj: Jeśli używasz PDO i przygotowanej instrukcji, nie potrzebujesz mysql_real_escape_string nie więcej. strip_tags , htmlentities i trim nie są również potrzebne do bezpiecznego przechowywania informacji w bazie danych, są potrzebne, gdy wysyłasz informacje do przeglądarki (trim nie oczywiście...), chociaż htmlspecialchars wystarczyłoby do tego. Zawsze lepiej jest prawidłowo przygotować informacje / dane wyjściowe dla nośnika, na który przesyłasz w danym momencie.