I had 318i e90 in past, I can say that it was pretty economical car for 2ltr and also very under powered. I used to get 45+ mpg on long run if driven steady. Also I find it unreliable, especially 320i. Lots reports on injector issues with 320i.
320d is better choice, but with 6k budget you struggle to find good example.
When buying e90 pre 2007 model, check air con unit. Turn aircon on full and open vents, check for white type powder (corrosion from aircon evaporators) As pre 2007 cars had faulty evaporators fitted made by Denso, and they do corrode which causing white powder dust type blowing from vets. Its dash out job, and BMW kept my car for 5 days.