Pokud jde o injekci sql, přešel bych na PDO pomocí připraveného prohlášení .
Můžete použít jednoduchý is_array() na vašich hodnotách, abyste zkontrolovali pole a poté jej procházeli. Máte pravdu, váš filter funkce nebude zpracovávat pole správně.
Upravit: Pokud používáte PDO a připravený výpis, nepotřebujete mysql_real_escape_string už strip_tags , htmlentities a trim nejsou také potřeba k bezpečnému uložení informací v databázi, jsou potřeba při výstupu informací do prohlížeče (trim ne samozřejmě...), ačkoli htmlspecialchars by na to stačilo. Vždy je lepší si informace/výstup správně připravit pro médium, na které v daný okamžik odesíláte.