Ваш код читать конечно то еще занятие, стоило бы отформатировать. Мне кажется, дело в том, что при выборе нескольких, например param2 и param3, вы в $stmt->execute передаете $ids только из $_POST['param3']
if ($_POST["param2"]) {
$ids = $_POST["param2"];
if ($_POST["param3"]) {
$ids = $_POST["param3"];