Løsning
Dette burde virke, hvis $values er en matrix:
$query = "SELECT * FROM table WHERE id IN ($placeholders) AND product=?";
$stm->execute(array_merge($values, array($product)));
Forklaring
execute() forventer, at én parameter - i dette tilfælde et array - bliver leveret. Ved at tilføje array_merge($values, array($product)) du opretter et array med $product tilføjet til sidst, så forespørgslen skulle fungere korrekt.
Se demoen her:https://ideone.com/RcClX