codice:
$querydata = "UPDATE lastupdate 
              SET `update` = CURDATE() 
              WHERE iddata = 0 ";
Update e' una parola riservata e deve essere messa tra backquote, altrimenti come fa a capire se e' una istruzione od un nome di campo?

Vedendo l'uso di date() si suppone che vuoi aggiornare alla data odierna, quindi tanto vale farglielo fare da mysql senza scomodare php.