PHP输出反斜杠

PHP输出反斜杠,php,mysql,html,Php,Mysql,Html,可能重复: 我正在从数据库中的表查询用户帖子。当我输出它们时,如果它们包含撇号,则在撇号之前插入反斜杠 为什么要这样做?我能做些什么来解决这个问题 例如: I'm hiking in Colorado's Mountains. I\'m hiking in Colorado\'s Mountains. 它很可能是转义字符(由于mysql\u real\u escape\u string)或类似的内容。您可以使用stripslashes()函数删除斜杠,不过我建议对数据使用htmlentit

可能重复:

我正在从数据库中的表查询用户帖子。当我输出它们时,如果它们包含撇号,则在撇号之前插入反斜杠

为什么要这样做?我能做些什么来解决这个问题

例如:

I'm hiking in Colorado's Mountains.

I\'m hiking in Colorado\'s Mountains.

它很可能是转义字符(由于mysql\u real\u escape\u string)或类似的内容。您可以使用
stripslashes()
函数删除斜杠,不过我建议对数据使用
htmlentities()
htmlspecialchars()
来增加一些安全性。

您可以使用。考虑使用它的方法准备SQL语句,它通常是更好的和它的OOP。(我猜您正在使用mysql函数)

我认为您应该查看和

范例

$text = "I\'m hiking in Colorado\'s Mountains." ;
echo stripslashes($text);
输出

I'm hiking in Colorado's Mountains.
两个可能的原因:

理由一:

您在服务器上启用了魔法报价。要测试魔术引号,只需使用以下代码:

if(get_magic_quotes_gpc()){
    echo 'Magic quotes are enabled...';
}
如果启用了magic quotes,您需要禁用它们(并向您的web主机投诉)。这个

理由二:


您(或您的一个输入函数)正在使用addslashes()作为防止SQL注入的保护。这是不安全的。准备好的语句(使用PDO或mysqli)是唯一可接受的防止SQL注入的方法。

您需要验证以下PHP配置设置:

从PHP5.3.0开始,此功能已被弃用,并从PHP5.4.0开始删除


我的建议是:将PHP版本升级到5.4.x,这个问题将消失,您将从许多其他新功能中获益。

如果他们希望斜杠出现怎么办?那么您不需要使用
条斜杠
…搜索
字符串转义
。hakra通知每个人可能是重复的,这似乎没有什么效果…@user1592953:当问题被标记为重复。在发布问题之前,请搜索重复的问题。该评论有助于其他人审查结束决定,如果他们认为相同,也可以投票决定结束。@user1592953-如果另一个问题是重复的,那么指向它有什么不好的地方?在任何情况下,我都需要在尝试诊断问题之前查看一些实际代码。有许多可能的原因,但我们需要查看代码,以便准确诊断并就如何改进提供有用的建议。
magic\u quotes\u gpc
(您关注的一个)与从数据库返回的数据(即问题涉及的数据类型)无关,而只与来自浏览器的数据相关。看,这很可能是
magic\u quotes\u runtime
@hakra,但是如果引号在插入之前被转义,那么magic\u quotes\u gpc肯定也会是问题所在?当然,这就是为什么我建议将这个问题作为:-我的意思是,如果答案已经存在,谁需要键入?:)