Указание числового идентификатора на целое число для предотвращения SQL-инъекции

Я реализую функцию массового удаления. Приложение использует PDO, но я не придумал хороший способ использовать подготовленные инструкции для этого.

У меня есть массив ID строк для удаления, любая длина:

array(3, 5, 8, [...]) 

С подготовленными операторами мне нужно будет создать строку меток вопросов для использования в качестве заполнителя, а затем привязать значения, выглядя примерно так:

 $question_marks = array(); foreach($ids) $question_marks[] = '?'; $question_marks = join(', ', $question_marks); $statement = $pdo->prepare('DELETE FROM `table` WHERE `id` IN ('.$question_marks.')'); for($i = 0; $i < count($ids); $i++) { $statement->bindValue($i + 1, $ids[$i]); } $statement->execute(); 

То, что я имел в виду, было бы приведение идентификаторов в целое число, чтобы любая SQL-инъекция была удалена, и это мой вопрос: не так ли?

 $id_string = array(); foreach($ids as $id) $id_string[] = (int) $id; $id_string = join(', ', $id_string); $statement = $pdo->prepare('DELETE FROM `table` WHERE `id` IN ('.$id_string.')'); $statement->execute(); 

Это все еще немного взломанно, но, на мой взгляд, гораздо приятнее предыдущего решения.

Это безопасно? Есть ли альтернативные решения?