у тебя return стоит, вот и выходит после первого элемента, убери его.
prepare вынеси из цикла, поставь перед ним, зачем делать каждый раз одно и тоже.
сделать один массив можно через функцию array_combine, получится id => number массив, ну либо так как
Максим Тимофеев предложил.
bindParam привязывает ссылку на переменную, bindValue - значение переменной, что тут актуальней