2008-11-10 43 views
3

我使用smarty和mysql_real_escape_string()用户输入, 和当我插入一些代码'",并在phpmyadmin 查找它显示没有反斜杠。不应该mysql_real_escape_string()在数据库中留下斜线?

当我从DB获取记录时,我也没有反斜杠。 但是,当我只通过转义字符串而没有插入db 它被反斜杠。

不应该添加斜杠,插入他们,然后我会 去掉他们,当我输出? 或者我错过了什么?

回答

12

您错过了它 - 使用反斜杠转义是为了确保查询不会有错误,例如,这样的事情一定会破裂,可能风险SQL注入:

insert into table values ('whatever 'this' is') 

什么都不会被保存在表中,而这样的:

insert into table values ('whatever \'this\' is') 

将保存值“什么‘这个’是”,在桌子。

+0

哦,我明白了。谢谢。 – Chris 2008-11-10 11:15:30

相关问题