php - 摆脱 mysql_real_escape_string() 解析字符串上的\字符

标签 php mysql database

我的问题看起来很微不足道,但我还没有找到任何“好的”解决方案。

首先是一个我听过很多答案的问题,什么时候我们需要使用 mysql_real_escape_string() 解析字符串?我的想法是,只有在将用户给定的数据存储在数据库中时才需要,这是一个值得遵循的好规则吗?

我的第二个问题,这才是真正的问题。当我使用 mysql_real_escape_string() 解析字符串时,它会在字符串中的任何有害字符之前放置一个特殊字符 \,例如。如果函数找到 ',则会在其后面附加 \,因此结果为 \'

好吧,没关系,问题是当我从数据库中读取相同的字符串时,我也得到了 \ 字符。有什么好的方法可以摆脱 \ 字符吗? 我的一个想法是使用 str_replace("\\","",$string),但这是一种良好且安全的方法吗?

谢谢大家!

最佳答案

你可以使用stripslashes()

例如:

<?php
    $text = "Test\'ing my app";
    echo stripslashes($text);
?>

关于php - 摆脱 mysql_real_escape_string() 解析字符串上的\字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11959123/

相关文章:

php - 在 PHP 中生成 XML 文档(转义字符)

PHP mysql 将表行与 json 数组进行比较

python - 如何在 python 中用 MySQL 检索温度和日期时间绘制一条线

database - 使用两个 dfs 的唯一标识符将数据框中的所有列按不同数据框中的列划分

database - 将自定义属性添加到 Firebase Auth

database - 我应该使用 EBS 还是 S3 来存储我的数据库?

php - MySQL php 表的线性插值

php - 为什么 "if empty"在显示搜索结果时不起作用

mysql 大小写函数

PHP MySQL 结果在 div 中