Tôi đã tìm ra:
$ids = '1,2,3';
Giải nén chuỗi $ ids thành một mảng:
$ids_array = explode(',', $ids);
Điều này mang lại:
$ids_array[] = 1;
$ids_array[] = 2;
$ids_array[] = 3;
Tạo một chuỗi dấu hỏi được phân tách bằng dấu phẩy. Số lượng dấu hỏi phù hợp với số lượng giá trị mảng
$in = str_repeat('?,', count($ids_array) - 1) . '?';
Điều này tạo ra một chuỗi trông giống như:
?,?,?
Đặt chuỗi đó vào sql
$q = "SELECT *
FROM table
WHERE id IN($in) ";
$stmt = $this->db->prepare($q);
Thực thi truy vấn, chuyển mảng dưới dạng tham số
$stmt->execute($ids_array);