在某些特殊情况下不会插入数据?

Data does not get inserted in some special cases?

这是我使用的代码

if (!empty($_REQUEST['content'])&&!empty($_REQUEST['title'])&&!empty($_REQUEST['writer'])) {
$title = $_POST['title'];
$content = $_POST['content'];
$writer = $_POST['writer'];
require_once 'htmlpurifier/library/HTMLPurifier.auto.php';
$purifier = new HTMLPurifier();
$pure_content = $purifier->purify($content);
$entity_content = htmlentities($pure_content);
$entity_content = mysql_real_escape_string($entity_content);
mysql_query("INSERT INTO stories (TITLE, WRITER, CONTENT, UPVOTE, DOWNVOTE) VALUES ('$title', '$writer', '$content', 0, 0)"); 

现在,经过一些测试后,我发现每当我在某些地方键入撇号时,值就不会插入到 table 中。我该如何防止这种情况?是否有任何其他特殊字符可能会导致此问题。 这是我正在做的事情:http://8mags.com/bored/people/

编辑

我更新了这两行代码

$add_content = "INSERT INTO stories (TITLE, WRITER, CONTENT, UPVOTE, DOWNVOTE) VALUES ('$title', '$writer', '$content', 0, 0)"; 
$result = mysqli_query($mysqli, $add_content) or die(mysqli_error($mysqli));

还有什么我需要更改的吗?

第二次更新

这段代码我也改了

$con = mysqli_connect($db_hostname,$db_username,$db_password);
if (!$con)
{
die('Could not connect: ' . mysqli_error());
}
mysqli_select_db($db_database, $con);

还有什么事吗?谢谢你的帮助。

你只需要在插入的时候放上这个。

$title = addslashes($_POST['title']);
$content = addslashes($_POST['content']);
$writer = addslashes($_POST['writer']);

并在展示(上市)时

stripslashes($VariableName)

希望对您有所帮助。