IN
演算子を使用できます。
また、必ず適切なエスケープを適用してください (この場合は問題になりませんが、フィールドが Web リクエスト経由で送信された場合は問題になります)。
$string = '3,4,5';
$array = explode(',', $string);
// cast all array elements into integers
$numbers = join(',', array_map('intval', $array));
$query = "SELECT ID FROM TABLE WHERE ID IN ($numbers)";
もう 1 つの優れた方法は、準備済みステートメントを使用することです。
$placeholders = join(',', array_fill(0, count($array), '?'));
$query = "SELECT ID FROM TABLE WHERE ID IN ($placeholders)";
次に、クエリを実行するには、次のように数値をバインドします (PDO の例):
// prepare the query, looks like 'WHERE ID IN (?,?,?)'
$stmt = $db->prepare($query);
// execute the query and pass the array values
$stmt->execute($array);