I would use a tire sealant, like Stans. You can get the sealant already installed in a tube, or you can run a tubeless set up. I mt. bike A LOT on really rocky terrain, in a place that has thorns. I run a tubeless setup, with a sealant in the tires and I have had one or two flat tires in the past couple of years. I probably put 100X as much abuse on my tires as somebody just commuting around town and I never get flats. So, go to a bike shop, get a decent pair of tires, have them check your rims for burs, and install a tube with sealant in it, or have them set you up fully tubeless, and you will almost never get a flat tire. I would not get a solid (non air filled) tire, those things suck IMO. If you are constantly getting flat tires, something is wrong with your set up, that is not normal.