Salve raga sto creando un motore di ricerca ed ho la seguente query con ricera fulltext:

Codice PHP:
$query_cerca_annunci mysql_query("SELECT annunci_attivi.titolo, annunci_attivi.descrizione, annunci_attivi.categoria, annunci_attivi.prezzo, utenti.citta, utenti.regione,
            MATCH(utenti.citta, utenti.regione, annunci_attivi.titolo, annunci_attivi.descrizione, annunci_attivi.categoria)    
            AGAINST('+
$citta_annuncio +$regione_annuncio +$categoria_annuncio +$parola_annuncio' IN BOOLEAN MODE)    
            as score FROM annunci_attivi    
            INNER JOIN utenti ON annunci_attivi.id_utente = utenti.id   
            WHERE MATCH(utenti.citta, utenti.regione, annunci_attivi.titolo, annunci_attivi.descrizione, annunci_attivi.categoria)         AGAINST('+
$citta_annuncio +$regione_annuncio +$categoria_annuncio +$parola_annuncio' IN BOOLEAN MODE) ORDER BY score DESC"); 
come specificato in AGAINST tutte le variabili devono essere presenti almeno una volta in uno dei campi specificati da MATCH, perchè tutte le variabili sono precedute dal +

Ma nonostante ciò accade che se

+$categoria_annuncio

non è presente in alcun campo la ricerca mi trova dei risultati

Come posso fare? dove sbaglio?