Как залатать дырки?
Использовать подготовленные выражения с плейсхолдерами.
Использовать PDO (с плейсхолдерами) а не mysqli самый правильный путь.
С цифрами на крайняк можно $num = intval($_GET['num']);
Со строками сложнее, просто погуглите защиту от sql-инъекций там ряд функций типа php.net/manual/en/function.strip-tags.php