Solución
Esto debería funcionar, si $values
es una matriz:
$query = "SELECT * FROM table WHERE id IN ($placeholders) AND product=?";
$stm->execute(array_merge($values, array($product)));
Explicación
execute()
espera que se proporcione un parámetro, en este caso una matriz. Agregando array_merge($values, array($product))
creas una matriz con $product
agregado al final, por lo que la consulta debería funcionar correctamente.
Vea la demostración aquí:http://ideone.com/RcClX