En cuanto a la inyección de sql, cambiaría a PDO usando una declaración preparada .
Puedes usar un simple is_array()
en sus valores para buscar una matriz y luego recorrerla. Tiene razón, tal como es, su filter
la función no manejará las matrices correctamente.
Editar: Si usa PDO y una declaración preparada, no necesita mysql_real_escape_string
más. strip_tags
, htmlentities
y trim
tampoco son necesarios para almacenar la información de forma segura en una base de datos, son necesarios cuando envía información al navegador (trim
no por supuesto...), aunque htmlspecialchars
sería suficiente para eso. Siempre es mejor preparar su información / salida correctamente para el medio al que está enviando en ese momento.