ho la seguente query che genera errore

Codice PHP:
while (list(,$parola)=each($keys))
    {
        
$parola trim($parola);
        if (
$parola !=""$query.="materiale LIKE '%$parola%' OR descrizione LIKE '%$parola%' OR ";
    }
    
$query .="0";
    
    
$query "SELECT id,categoria,materiale,data,descrizione FROM materiali [B]WHERE categoria="$categoria"[/B]  WHERE ".$query
insomma si tratta di un elementare motore di ricerca che prende le parole da un form e fa una ricerca. Per le parole nessun problema (la guida di html.it è molto dettagliata) ma quando cerco di mettere un filtro per la colonna categoria lo script si pianta!

i filtri sono 4: "categoria1","categoria2","categoria3","*"

l'ultimo (solo ad intuito) servirebbe per uscire dal filtro e fare la select su tutte le categorie