Jag kom på det:
$ids = '1,2,3';
Explodera $ids-strängen till en array:
$ids_array = explode(',', $ids);
Detta ger:
$ids_array[] = 1;
$ids_array[] = 2;
$ids_array[] = 3;
Skapa en kommaavgränsad sträng med frågetecken. Antalet frågetecken matchar antalet matrisvärden
$in = str_repeat('?,', count($ids_array) - 1) . '?';
Detta producerar en sträng som ser ut som:
?,?,?
Lägg den strängen i sql
$q = "SELECT *
FROM table
WHERE id IN($in) ";
$stmt = $this->db->prepare($q);
Kör frågan och skicka arrayen som en parameter
$stmt->execute($ids_array);