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
删除
上一篇: mysqli real escape string
下一篇: is this normal?