Mira, yo tenia algo así:
Esto lo usé por bastante tiempo y no tuve problemas, habría que ver si sigue siendo útil...
Código PHP:
function antiinjection($str)
{
$words = array("\\", "'", ",", ";", "--", "-", "%20", "%27", " ", "`", "=", "%");
$words_preg = array("|INSERT|i", "|DROP|i", "|SELECT|i", "|DELETE|i", "|UPDATE|i", "|TRUNCATE|i", "|SHUTDOWN|i");
for($i=0;$i<count($words_preg);$i++){
if(preg_match($words_preg[$i], $str)){$apina = 500;}
}
for($i=0;$i<count($words);$i++){
$jopa=strpos($str, $words[$i]);
if(is_numeric($jopa)){$apina = 500;}
}
if($apina==500){
return FALSE;
} else {
return TRUE;
}
}