Scusa, ma perché nella query non scrivi direttamente:

immagine='$immagine', immagine2='$immagine2', immagine3='$immagine3'

Senza a stare a fare mille condizioni?


Tu dirai: "eh, ma se immagine 2 e 3 non vengono modificate mi si svuotano i campi."

Beh, in quel caso sbagli ad aprire il form per la modifica.
Tu quando vai ad aprire il form devi impostare già le 3 variabili con i nomi delle immagini già presenti nel DB, così che se cambi solo l'immagine 1, comunque la 2 e la 3 rimarranno quelle di prima.
Magari setta dei campi hidden con i nomi delle immagini ed invia ANCHE i valori dei campi hidden una volta inoltrato il form, così che se il campo di upload risulta vuoto lui re-inserirà il nome dell'immagine precedente.

Non so se mi sono spiegato.

Andrebbe visto come hai strutturato il form...