Escapando caracteres curinga do MySQL

Em um servidor mais antigo que estou usando, não posso usar instruções preparadas. No momento, estou tentando escapar completamente da entrada do usuário antes de enviá-la ao MySQL. Para isso, estou usando a função PHPmysql_real_escape_string.

Como essa função não escapa dos curingas do MySQL% e _ eu estou usandoaddcslashes para escapar deles também.

Quando envio algo como:

test_test " ' 

para o banco de dados e, em seguida, leia novamente o banco de dados mostra:

test\_test " ' 

Olhando para isso, não consigo entender por que _ tem uma barra invertida anterior, mas o "e 'não. Como todos eles escaparam com \ certamente _' e" devem parecer todos iguais, ou seja, todos têm o caractere de escape visível ou nem tudo o tem visível.

Os escapes são automaticamente filtrados para

Alguém pode explicar isso?

questionAnswers(1)

yourAnswerToTheQuestion