hola
Que bueno que hayas encontrado el error.
Para el problema del file una solucion sería en el formulario algun tipo de verificación.
te dejo algo que uso para cambiar o no una imagen según quiera cambiarla o no al modificar la novedad
Código HTML:
Cambiar Imagen <br>
<label>
<input type="checkbox" name="imagensi" id="imagensi" onClick="habilita()" >
SI</label>
<br/>
<label>
<input disabled name="file" type="file" size="25">
</label>
Siendo la función jp:
<script language="JavaScript">
function habilita(){
document.form1.file.disabled = false;
}
</script>
Con esto tengo la posibilidad de cargar una nueva imagen, habilitando el botón, o dejar la que ya tenia, dejándolo deshabilitado.
y al cargar los datos en la base de datos.
pon un if
Código PHP:
if($imagensi != "on"){
/* si no cambias la imagen no actualizas ese campo*/
$modiSQL="UPDATE bodega SET nombre='$nombre', bodega='$bodega', origen='$origen', tipo='$tipo', graduacion='$graduacion', varietal='$varietal', maridaje='$maridaje', servir='$servir', elaboracion='$elaboracion' WHERE idvino='$idvino' LIMIT 1";
mysql_query($modiSQL,$conexion)
}
else{
/*si cambias la imagen actualizas también el campo foto*/
$modiSQL="UPDATE bodega SET nombre='$nombre', bodega='$bodega', origen='$origen', tipo='$tipo', graduacion='$graduacion', varietal='$varietal', maridaje='$maridaje', servir='$servir', elaboracion='$elaboracion', foto='$nombrearchivo' WHERE idvino='$idvino' LIMIT 1";
mysql_query($modiSQL,$conexion)}
Claro que debes acondicionarlo a tus necesidades. y seguramente existe una mejor forma, pero es con lo que te puedo ayudar con mi nivel novato en php y mysql.
saludos