mysqli真正的转义字符串

我使用mysqli_real_escape_string的OOP方法转义字符串。 我将输入保存到会话变量中,以确保它正确地转义。 它似乎是正确的逃避,但是当我检查什么进入数据库我没有看到单引号和双引号之前的斜线。

所以在浏览器中我回应:

Array
(
    [formContent] => I'm always here!
)

但在我看到的数据库中:

I'm always here!

这是否意味着我的代码有什么问题? 谢谢!


不,这很正常。 mysqli_real_escape_string自动为您mysqli_real_escape_string单引号。

当你有字符串时,

I'm always here!

mysqli_real_escape_string将其处理为

I'm always here!

所以它会被保存在数据库中。 这就是它的工作原理。


mysqli_real_escape_string - 转义字符串中的特殊字符以用于SQL语句,同时考虑连接的当前字符集

它做了什么逃避单引号(从一些级别的sql注入除外)

hello 'world

mysqli_real_escape_string将其处理为

hello 'world

您可以使用stripslashes删除

链接地址: http://www.djcxy.com/p/93659.html

上一篇: mysqli real escape string

下一篇: is this normal?