Você terá que gerenciar a lista de argumentos (tipo e valor) à medida que adiciona as condições. Isso significa que você precisa usar
call_user_func_array
para passar a lista de valores para bind_param . Basicamente, em cada um de seus
if instruções, não apenas adicionam a condição, mas também adicionam o tipo de parâmetro (por exemplo, $types .='i' ) e o parâmetro (por exemplo, $args[]=$arg ). Você encontrará um bom exemplo de como fazer isso neste comentário do
bind_param documentação:https://www.php.net /manual/en/mysqli-stmt.bind-param.php#109256