Solução
Isso deve funcionar, se
$values
é uma matriz:$query = "SELECT * FROM table WHERE id IN ($placeholders) AND product=?";
$stm->execute(array_merge($values, array($product)));
Explicação
execute()
espera que um parâmetro - neste caso um array - seja fornecido. Adicionando array_merge($values, array($product))
você cria um array com $product
adicionado no final, para que a consulta funcione corretamente. Veja a demonstração aqui:http://ideone.com/RcClX