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.