Lo descubrí:
$ids = '1,2,3';
Explota la cadena $ids en una matriz:
$ids_array = explode(',', $ids);
Esto da:
$ids_array[] = 1;
$ids_array[] = 2;
$ids_array[] = 3;
Cree una cadena de signos de interrogación delimitada por comas. El número de signos de interrogación coincide con el número de valores de matriz
$in = str_repeat('?,', count($ids_array) - 1) . '?';
Esto produce una cadena que se parece a:
?,?,?
Pon esa cadena en el sql
$q = "SELECT *
FROM table
WHERE id IN($in) ";
$stmt = $this->db->prepare($q);
Ejecuta la consulta, pasando la matriz como parámetro
$stmt->execute($ids_array);