Du kan inte skicka in flera värden i en enda platshållare. Du måste ange en annan platshållare för varje värde som ska skickas till IN ()
. Eftersom du inte vet hur många det kommer att bli, använd ?
istället för namngivna parametrar.
$values = explode(',', $values) ;
$placeholders = rtrim(str_repeat('?, ', count($values)), ', ') ;
$query = "SELECT * FROM table WHERE id IN ($placeholders)";
$stm = $db->prepare($query) ;
$stm->execute($values) ;