Microfiber over a waterproof mattress protector may be the best choice. Microfiber wicks moisture, is relatively inexpensive, washes easily, and resists staining.