Eu usaria o
array_walk()
função. É mais adequado porque modifica o POST superglobal para que quaisquer usos futuros sejam higienizados. array_walk_recursive( $_POST, 'mysql_real_escape_string' );
No entanto, certifique-se de não confiar nessa linha para proteger completamente seu banco de dados contra ataques. A melhor proteção é limitar os conjuntos de caracteres para determinados campos. Ex. Os e-mails não têm aspas (então permita apenas letras, números, @, traços, etc.) e os nomes não têm parênteses (então permita apenas letras e caracteres especiais selecionados)
EDITAR: Alterado
array_walk()
para array_walk_recursive()
graças à sugestão de @Johan. Adereços para ele.