Ok das ist klar, weil du ja schön deine Variablen abfragst und eventuell eine Fehlermeldung ausgibts, aber das Script nicht stopps.
Würde das nun so aussehen
<?php
//....
if (isset($_GET['xxy']) or isset($_GET['xxz']) or ....) {
mysql_query("UPDATE $tabellenname SET Pin = '$gpin', Value = '$cmd' WHERE id = '$id'", $link);
}
//...
wird das Update nur ausgeführt wenn auch ein Eintrag vorhanden ist. xxy und xxz sind nur Beispiele