Hola elmono_xx,
puedes construir la consulta SQL de forma dinamica, es decir que solo se actualicen los campos que tu quieras actualizar.
Código PHP:
$campos = array();
if($nombre)
$campos['nombre'] = $nombre;
if($foto)
$campos['foto'] = $foto;
$query = "UPDATE tabla ";
foreach($campos as $nombre_campo => $valor)
{
$query .= "$nombre_campo='$valor'";
}
$query .= " WHERE id=$id";
Toma el ejemplo anterior como inspiracion, yo no lo he probado y sientete libre de modificarlo, ampliarlo y adaptarlo a tus necesidades.
Saludos!