Porongo, mi sono accorto solo ora di un problema di consistenza.

Primo: modifica la tua form in modo che gli attributi "name" siano UGUALI ai nomi dei campi della tabella, per esempio:

Codice PHP:
// Questo NON VA BENE
<input type=hidden name=id value=$id>
// deve diventare id_categorie, perché $id deve registrarsi nel campo 'id_categorie',
// quindi sostituiscilo con:
<input type=hidden name=id_categorie value=$id
Quando sei sicuro che la form è corretta, cambia $fields come segue:

Codice PHP:
$fields = array('id_categorie''marca''modello''tipo''origine''qt''prezzo''prezzoaz''prezzoriv');