<?
//z formularza
$_GET['user'] = "test', pass = 'qwerty";
$query = "UPDATE uzytkownicy SET login='".$_GET['user']."'";
//UPDATE uzytkownicy SET login='test', pass = 'qwerty'
//SQJ INJECTION zadziała - zmieni sie login,pass
//Ale gdy mamy magic_quotes:
//Zmienna z formularza jest escape'owana
$_GET['user'] = "test', pass = 'qwerty";
$query = "UPDATE uzytkownicy SET login='".$_GET['user']."'";
//UPDATE uzytkownicy SET login='test', pass = 'qwerty'
//Czyli zostanie zmieniony jedynie login na: test', pass = 'qwerty
//Ale samo haslo nie zostanie zmienione
?>
Tak więc jak widzisz, magic_quotes mogą ochronić czasem słabych programistów

No chyba, że Ci jeszcze przed wykonaniem zapytania, użyją na tablicach _POST i _GET
stripslashes" title="Zobacz w manualu PHP" target="_manual