Достаточно, Всё хорошо. Кстати, PDO тоже умеет.
$stmt->bindParam(':id', $id, PDO::PARAM_INT); // PDO::PARAM_STR по-умолчанию
htmlspecialchars нужно использовать только при выводе данных в браузер, когда в них может находится контент, присланный пользователем (untrusted content), либо в других случаях, когда нужно проэкранировать вывод.