ci sono due errori.. il primo è che è inutilissimo fare l'update di un camo reinserendoci il vecchio valore.. almeno nel caso di un file è sicuramente troppo lavoro inutile in più...
il secondo è che così non controlli neanche che tipo di file ti viene inviato...
ti conviene fare una cosa del genere:
Codice PHP:
if(isset($_FILES['foto']['tmp_name']))
{
$visualizzabili = array("image/jpeg", "image/pjpeg", "image/gif", "image/png");
if(!in_array($_FILES['foto']['type'], $visualizzabili)
{
echo "Il file non è di tipo immagine, o non è un'immagine compatibile con il web.
(nome file: {$_FILES['foto']['tmp_name']} tipo file: {$_FILES['foto']['type']})";
exit;
}
//fai update di tutto il record
}
else //fai update solo degli altri campi