Sim, mas um sim qualificado.
Você precisa escapar adequadamente 100% da entrada. E você precisa definir corretamente os conjuntos de caracteres (Se você estiver usando a API C, você precisa chamar o
mysql_set_character_set()
em vez de SET NAMES
). Se você perder uma pequena coisa, você está vulnerável. Então é sim, desde que você faça tudo certo... E é por isso que muitas pessoas recomendam consultas preparadas. Não porque eles são mais seguros. Mas porque eles são mais tolerantes...