in reply to column count error followed by too few bind variables

You should always include ALL the code when asking questions. In this case the error is in what you haven't shown. The number of placeholders ('?') in the string you are passing to prepare does not match the number of parameters you are passing to execute.

"Worry is like a rocking chair. It gives you something to do, but it doesn't get you anywhere."