i have had a 2005 320i.
if u drive like an old lady, you get 8l to 100kms, drive it like you stole it and it can go up past 12l to 100km. trust me, i have a diesel now and push it hard, i have never seen it go over 9l to 100km.
the e90 engines are reliable, but the 320i is underpowered. go for a 325i if you must have petrol, otherwise get a diesel and you will never look back.