J'utiliserais le array_walk()
fonction. Il est mieux adapté car modifie le superglobal POST afin que toutes les utilisations futures soient assainies.
array_walk_recursive( $_POST, 'mysql_real_escape_string' );
Cependant, assurez-vous de ne pas compter sur cette ligne pour protéger complètement votre base de données des attaques. La meilleure protection consiste à limiter les jeux de caractères pour certains champs. Ex. Les e-mails ne contiennent pas de guillemets (n'autorisez donc que les lettres, les chiffres, @, les tirets, etc.) et les noms ne comportent pas de parenthèses (n'autorisez donc que les lettres et les caractères spéciaux sélectionnés)
MODIF : Modification de array_walk()
à array_walk_recursive()
grâce à la suggestion de @Johan. Bravo à lui.