Из руководство :
public bool PDOStatement::execute ([ array $input_parameters ] )
Выполнить подготовленный оператор. Если подготовленный оператор включил маркеры параметров, вы должны либо:
blockquote>
- вызвать PDOStatement :: bindParam (), чтобы привязать переменные PHP к маркерам параметров: связанные переменные передают их значение в качестве входных данных и получают выходное значение , если они есть, связанных с ними маркеров параметров
- или передать массив значений только для ввода
Вам нужно выбрать метод. Вы не можете смешивать оба.