В подготвено изявление SQL е статичен нарочно. Броят на параметрите не може да варира, след като изявлението е подготвено.
Но за вашия код би било лесно да подаде точния брой параметри в зависимост от изявлението. Можете да добавите променлива за брояча на параметрите и динамичен php масив, който да премине към pg_execute вместо твърдо кодирани литерали. И те ще бъдат увеличени/попълнени вътре в if (isset(...))
клонове.