Не пытайтесь сделать это.
Если вы попытаетесь найти способ точно знать, экранирована ли строка или нет, кто-то может просто прийти и создать строку, которая обманет ваш метод обнаружения.
Например, если вы использовали «\» в качестве теста, чтобы убедиться, что слэши не экранированы, я могу просто дать вам строку типа "'; DROP DATABASE dbname(); --\\"
, которая проходит проверку, но все еще ужасно неверна.
Если по какой-либо причине вы не можете использовать хранимые процедуры и / или надлежащую обработку параметров, единственный способ убедиться, что ваши строки чистые, - это очистить каждую строку для каждого ненадежного источника.