我正在使用smarty和mysql_real_escape_string()进行用户输入,当我使用'或"插入一些代码时,在phpmyadmin中查找时,它显示没有反斜杠。
当我从数据库获取记录时,我也没有反斜杠。但是,当我只传递转义字符串而没有插入到db中时,它会被反斜杠。
它不是应该添加斜杠,插入它们,然后在输出时剥离它们吗?还是我错过了什么?
发布于 2008-11-10 11:03:31
你错过了-使用反斜杠进行转义是为了确保查询不会格式错误,例如,这样的查询肯定会中断,并可能有SQL注入的风险:
insert into table values ('whatever 'this' is')表中将不会保存任何内容,而如下所示:
insert into table values ('whatever \'this\' is')将在表中保存“不管'this‘是什么”的值。
https://stackoverflow.com/questions/277575
复制相似问题