Alla fine il caso è lo stesso, avevo già messo a punto un pezzo di codice che ho recuperato, probabilmente lo avevo copiato da qualcuno, non ricordo comunque lo posto nel caso potesse servire a qualcun'altro.
Codice PHP:
// CARATTERI SPECIALI
foreach($_GET as $key => $value) {
    if (!
is_array($value)) {
    
$value trim($value);
    
$value = (get_magic_quotes_gpc()) ? stripslashes($value) : $value
    
$_GET[$key] = mysql_real_escape_string($value,$conn);
    } else {
        foreach(
$_GET[$key] as $key2 => $value2) {
        
$value2 trim($value2);
        
$value2 = (get_magic_quotes_gpc()) ? stripslashes($value2) : $value2
        
$_GET[$key][$key2] = mysql_real_escape_string($value2,$conn);
        }
    }

Ovviamente vale anche per POST.
L'unica cosa che mi rimane da sistemare è che se nel campo da cercare c'è un segno + (ma penso anche un -) mysql da errore. Per esempio se cerco questo è + bello da errore.