我使用 PHP 和 MySQL 制作了一个带有评论的简单新闻系统,它在我的本地 Apache 服务器上运行良好,无论是在我的 Fedora 10 机器上,还是在我的 Windows 7 机器上。现在我有一个问题,我把它上传到一个网络主机,它不断返回所有的'和“作为\'和\”。
我相信这要么是出于安全原因自动添加它们的网络主机,要么是 MySQL 是错误的排序规则,但我还没有能够解决它,测试多个 MySQL 排序规则。
下面是一个查询示例:
mysql_query("INSERT INTO news (title, poster, text, time) VALUES ('$newstitle', '1', '$newstext', '$time')") or die(mysql_error());
$time
istime();
$newstitle
和$newstext
are parsed from$_POST
并且两者都mysql_real_escape_string()
在我运行查询之前运行(我想这可能是问题,但由于它是安全性的一部分,我只是不想删除它,因为它没有引起问题在我的本地服务器上)
最后一点:在我的本地 apache 服务器上,我latin1_swedish_ci
在 web 主机服务器上不起作用。
编辑:
它们在数据库中看起来像这样:
\'\'\'\"\"\"
而在我的本地,他们没有额外的反斜杠,所以它必须是 PHP 添加它。除了添加一个删除多余反斜杠的函数之外,有没有办法解决这个问题?