Tiene sentido discutir por eso?
letni en su primer mensaje dio a entender que usa mysql como motor de base de datos, viendo los códigos que puso. En base a eso es que se dan sugerencias que se adapten a su situación actual, y para mysql, mysql_real_escape_string() es suficiente para evitar una inyección sql, que era de lo que se trataba la pregunta.
Para otros tipos de ataques podrían servir htmlentities(), strip_tags() y funciones definidas por el usuarios, como para evitar XSS, y como aportes están bien, nadie dijo que no.
Un saludo,