php - 我是否正确使用 mysqli_real_escape_string?

标签 php mysqli

我正在使用 mysqli_real_escape_string 的 OOP 方法转义字符串。我将输入的内容保存到 session 变量中以确保它正确转义。它似乎正确转义,但是当我检查输入数据库的内容时,我没有看到单引号和双引号前的斜线。

所以在浏览器中我回显:

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

但是在数据库中我看到:

I'm always here!

这是否意味着我的代码某处有问题?

最佳答案

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

当你有字符串时,

I'm always here!

mysqli_real_escape_string 将其处理为

I\'m always here!

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

关于php - 我是否正确使用 mysqli_real_escape_string?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13834074/

相关文章:

php - 一个特定文件夹中新文件的默认 chmod

php - 使用 Javascript 确认对话框破坏 PHP 代码?

javascript - 尝试从外部 php 文件标记数据创建谷歌地图 api 集群

php - 使用 bind_param() 函数添加多行

php - 运行 PHP5 : access denied to MySQLi connection but success for MySQL

php - Laravel Api 路由加载失败。 404 未找到

php - 如何正确删除重复项?

php - 警告:mysqli::mysqli() [mysqli.mysqli]: (08004/1040): OpenCart 中的连接过多

php - 无法在 XAMPP 中打开现有页面?

php - 在PHP中过滤MySQL数据以仅显示当前 session 用户的数据?