tu hai scritto così:

$query = "SELECT id,categoria,materiale,data,descrizione FROM materiali WHERE categoria="$categoria" WHERE ".$query;

mentre invece per concatenare una stringa con variabili php devi scrivere così:
$query = "SELECT id,categoria,materiale,data,descrizione FROM materiali WHERE categoria=".$categoria." WHERE ".$query;

devi quindi usare il punto; avevi scritto giusta la concatenazione di $query, in fondo, ma avevi sbagliato quella di $categoria in mezzo...

altro suggerimento, quando esegui la query, eseguila sempre aggiungendo la notazione dell'errore, così se c'è qualche errore SQL te lo stampa subito:

codice:
mysql_query($query)or die(mysql_error());