mysql o virgül olmadığı için hata veriyor.
postu güncellememesinin sebebide formu boş göndermen.
Açıkcası ben anlamadım ne yapmaya çalıştığını

önce formu açmışsın action ve method belirtmişsin.

<select name='katid'></form>,
burada formu kapatmışsın. while ile optionları çekmişsin.
ama submit butonunuda bu while döngüsünün içine koymuşsun.

tüm sayfayı <? ?> tagleri içerisinde yazdığın için karışmış. php kodları üste yaz.

optionları da şu şekilde çek

<?php
while($a = mysql_fetch_assoc($b)){,
<option>$a['kategori']</option>
}
?>

form içerisindeki değişkenleri de <?php echo $degisken; ?> olarak ver.

üç satır fazla yazarsın ama bu kadar karışık olmaz

kolay gelsin.