Giải pháp
Điều này sẽ hoạt động, nếu $values là một mảng:
$query = "SELECT * FROM table WHERE id IN ($placeholders) AND product=?";
$stm->execute(array_merge($values, array($product)));
Giải thích
execute() mong đợi một tham số - trong trường hợp này là một mảng - được cung cấp. Bằng cách thêm array_merge($values, array($product)) bạn tạo một mảng với $product được thêm vào cuối, vì vậy truy vấn sẽ hoạt động chính xác.
Xem bản trình diễn tại đây: https://ideone.com/RcClX