Il codice di badaze non funzionerebbe mai, perché mancano gli apici intorno ai valori per poterli passare alla query.
Dovresti provare qualcosa del genere
Codice PHP:
$arr explode('|',$id);
foreach (
$arr as $k => $v) {
  
$arr[$k] = "'$v'";
}
$id implode(',',$arr);
$query "delete from tabella where campo in ($id)"
Rimane il fatto che il dato in input andrebbe verificato prima di passarlo alla query, ma per questo dovresti usare delle espressioni regolari e qui passo