J'ai compris :
$ids = '1,2,3';
Décomposez la chaîne $ids dans un tableau :
$ids_array = explode(',', $ids);
Cela donne :
$ids_array[] = 1;
$ids_array[] = 2;
$ids_array[] = 3;
Créez une chaîne de points d'interrogation séparés par des virgules. Le nombre de points d'interrogation correspond au nombre de valeurs du tableau
$in = str_repeat('?,', count($ids_array) - 1) . '?';
Cela produit une chaîne qui ressemble à :
?,?,?
Mettez cette chaîne dans le sql
$q = "SELECT *
FROM table
WHERE id IN($in) ";
$stmt = $this->db->prepare($q);
Exécute la requête en passant le tableau en paramètre
$stmt->execute($ids_array);