Agree on the quotes but asking the user for the column count sounds dodgy to me. It's an implementation detail that the user shouldn't really have to worry about. I feel like prepare is like setUp in phpunit  - it's useful to have but there's not much point shoehorning the code into it at the expense of the api.