podivne chovani UPDATE

pri pouzivani update se mi zmeni puvodni hodnoty a vytvori se i novy radek se stejnymi hodnotami. nevite co s tim?

UPDATE kategorie SET nazev = '$nazev', nazev = '$kat', ascii_text = '$ascii', ascii_text = '$b' WHERE(id='$uprav')
Nechápu, proč to tam máš 2× ? No je blbost, aby si měl v tabulce dva stejný sloupce "nazev" a "ascii_text". A ani mi nejde do hlavy, proč upravuješ jeden sloupec jednou hodnotou a vzápětí druhou. Udělal bych to:

UPDATE kategorie SET nazev = '$nazev', ascii_text = '$ascii' WHERE id=$uprav
no obsleh jsem to ze stare knizky, kde psaly ze to ma bejt:
nazev = 'stara hodnota', nazev = 'nova hodnota',
ted mi to zase ty puvodni hodnoty smaze a nove hodnoty ulozi na novy radek...
Pokud to uděláš, jak jsem ti to napsal já, tak je IMHO blbost, aby ti to uložilo na novej řádek. Pokud by v proměnné $uprav bylo nesmyslné id, které není v tabulce, tak se neprovede vůbec nic a nebo pomocí mysql_error() to vyhodí příslušnou hlášku.
<?php
if(IsSet($B2)){

$ascii_kat_pomocna = zmen_na_ascii($kat);
$b = Eregi_Replace("[[:space:]]", "_", $ascii_kat_pomocna);


MySQL_Query("UPDATE kategorie SET nazev = '$kat', ascii_text = '$b' WHERE id = '$uprav'");


Header('Location: http://'.$jmeno_serveru.'autors/admin.php?'.SID);
}
?>

<form method="POST" action="admin.php?uprav=<?php echo $uprav; ?>">
zmenit nazev:<input type="text" name="kat" size="20" value="<?php echo $row_2['nazev'];?>">
<input type="submit" value="zmenit" name="B2">
<input type="reset" value="puvodni hodnota" name="B2">
</form>
-----------------------------------------------
tak tenhleten kod mi sice zmeni puvodni radek v db, ale vytvori i novej se stejnejma hodnotama
Nevím jestli to pomůže, ale ve formuláři uprav toto:

<form method="POST" action="admin.php">
<input type="hidden" name="uprav" value="<?php echo $uprav; ?>">
zmenit nazev:<input type="text" name="kat" size="20" value="<?php echo $row_2['nazev'];?>">
<input type="submit" value="zmenit" name="B2">
<input type="reset" value="puvodni hodnota" name="B2">
</form>

.. potom v SQL dotazu:

MySQL_Query("UPDATE kategorie SET nazev = '$kat', ascii_text = '$b' WHERE id = ' ".$_POST["uprav"]." ' ");
no porad to nefunguje, ale dik za upozorneni typ hidden(o kterem jsem nemel ani paru), ted uz to budu pouzivat
tak jsem to zacal psat uplne od zacatku a uz mi update funguje. nejspiz byla chyba jeste nekde jinde.

dik za rady
Tak to by mě samotnýho zajímalo kde.
uz jsem ji nasel. samozrejme byla v jiny casi kodu.

if(IsSet($kat)){
/*tady bylo ulozeni nove kategorie*/
}

no jo, chyba z blbosti:)