我设计了一个评论系统。这就是我基本上正在做的事情。
$story=$_POST['story'];
$story=mysql_real_escape_string($story);
$query = "INSERT INTO `comment` VALUES('$story')";
现在的问题是当我将评论存储在 "
中时被 \"
取代和所有'
被 \'
取代。所以当我显示这些 \
的评论时也出现在评论中。
另一个问题是&
消失。例如:如果用户评论I & you
仅I
存储到数据库中。
事实上,在少数情况下,评论甚至不会进入数据库。
处理和存储用户评论以便您可以按最初编写的方式显示它们的正确方法是什么?
PS:我不担心sql注入(inject)。我只是想让评论以输入的方式显示。
最佳答案
看起来你有magic qoutes打开。你应该简单地 disable them来自 php.ini。
如果您担心sql注入(inject),请考虑使用prepared statements .
关于php - 在 SQL 和 PHP 中处理用户输入字符串的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3918595/