Hvis mysql_query returnerede NULL, ville det være en fejl på PHP. Hvordan ved du, at den faktisk returnerer NULL?
For opdateringsudsagn bør mysql_query kun returnere TRUE eller FALSE. Så din fejlkontrolkode er i orden. For at finde ud af, hvad der gik galt, bliver du nødt til at kalde en anden funktion - mysql_error() ville give dig en forklaring om, hvad der gik galt. Så udskriv værdien af mysql_error() inde i din falske blok. Sådan:
echo 'failed. SQL Err: '. mysql_error()
Gør det, og du vil sandsynligvis få et fingerpeg om, hvordan 'posten blev opdateret, men returværdien er falsk'. Det burde ikke være sket.