Ако mysql_query върне NULL, това би било грешка в PHP. Откъде знаете, че всъщност връща NULL?
За изрази за актуализиране mysql_query трябва да връща само TRUE или FALSE. Така че кодът ви за проверка на грешки е наред. Що се отнася до откриването на какво се е объркало, ще трябва да извикате друга функция - mysql_error() ще ви даде рекламна информация за това какво се обърка. Така че отпечатайте стойността на mysql_error() във вашия фалшив блок. Като това:
echo 'failed. SQL Err: '. mysql_error()
Направете това и вероятно ще получите представа за това как „записът е актуализиран, но връщаната стойност е фалшива“. Не трябваше да се случи.