在较旧的服务器上,我无法使用准备好的语句,因为我目前正试图在将用户输入发送到MySQL之前完全转义用户输入。为此,我正在使用PHP函数mysql_real_escape_string。
由于此函数无法转义MySQL通配符%和_,因此我也正addcslashes对这些通配符进行转义。
当我发送类似:
test_test " '
到数据库,然后再读回数据库,显示:
test\_test " '
看着这个我不明白为什么_前面有一个反斜杠,但是“和'却没有。因为它们都用\进行了转义,因此_'和”应该都看起来一样,即所有的转义字符都可见或所有的东西都不可见。
是否自动筛选了转义的\
谁能解释一下?
动漫人物
三国纷争