if ($result) {
Obwohl der Datensatz nicht vorhanden ist wird der UPDATE-String ausgeführt. Woran kann das liegen?
Weil $result keinen Datensatz liefert, sondern nur die result id des Querys und der ist nur dann false wenn der query einen fehler produzierte (zb. auf ein feldabgefragt das nicht existiert) aber wenn das ergebniss des querys 0 zeilen ist, ist result immernoch true.
du müsstest auf
if(mysql_num_rows($result,$connect)>0){
abfragen.
Ludwig