достаточно безопасно по сравнению с вашими потребностями. Если по какой-то причине вы хотите избежать mysql_real_escape_string, то сначала я хочу спросить, почему.
Мой ответ: конечно ... в зависимости от ваших условий
вы можете предварительно сыграть против [0-9a-z], и вам нечего бояться. Попробуйте передать многобайтовый символ, чтобы быть в безопасности. До тех пор, пока ваше состояние не позволяет вам что-либо делать, если соответствие не соответствует вашим требованиям, я не знаю хитрого обходного пути, позволяющего внедрить вредоносные символы в такое строгое правило.
но термин "строка" очень открытый. это включает пунктуацию? какого типа и т. д. Если вы разрешите использовать стандартные символы для инъекций как то, что вы называете «Строка», тогда мой ответ больше не уверен.
Но я все еще рекомендую mysql_real_escape_string () для всей информации, предоставленной пользователем, независимо от того, как вы пытаетесь очистить ее заранее.