Użyłbym array_walk()
funkcjonować. Jest lepiej dopasowany, ponieważ modyfikuje superglobal POST, dzięki czemu wszelkie przyszłe zastosowania są zdezynfekowane.
array_walk_recursive( $_POST, 'mysql_real_escape_string' );
Upewnij się jednak, że nie polegasz na tej linii, aby całkowicie chronić swoją bazę danych przed atakami. Najlepszą ochroną jest ograniczanie zestawów znaków dla niektórych pól. Były. E-maile nie zawierają cudzysłowów (więc dozwolone są tylko litery, cyfry, @, myślniki itp.), a nazwy nie zawierają nawiasów (więc dozwolone są tylko litery i wybrane znaki specjalne)
EDYTUJ: Zmieniono array_walk()
do array_walk_recursive()
dzięki sugestii @Johana. Rekwizyty do niego.