Solusi
Ini akan berfungsi, jika $values adalah larik:
$query = "SELECT * FROM table WHERE id IN ($placeholders) AND product=?";
$stm->execute(array_merge($values, array($product)));
Penjelasan
execute() mengharapkan satu parameter - dalam hal ini array - akan disediakan. Dengan menambahkan array_merge($values, array($product)) anda membuat satu larik dengan $product ditambahkan di akhir, sehingga kueri harus berfungsi dengan benar.
Lihat demonya di sini:https://ideone.com/RcClX