我有这段代码:
if (!empty($_POST['w1']) && !empty($_POST['l1'])) {
$str = "<a href='".$_POST['l1']."'>".$_POST['w1']."</a>";
$content = str_replace($_POST['w1'],$str, $content);
}
$content = nl2br($content);
echo "נוסף";
echo $content;
mysql_query("INSERT INTO `posts` VALUES ('','".$_POST['subject']."','$content','0')");
php页面不会返回任何错误。但数据未插入数据库。 任何人都知道这是什么问题?
答案 0 :(得分:3)
如果抛出任何mysql错误,它将不会显示给您。执行以下操作以查看错误:
mysql_query("INSERT INTO `posts` VALUES ('','". mysql_real_escape_string($_POST['subject']) . "','" . mysql_real_escape_string($content) . "','0')") or die mysql_error();
注意SQL注入!
答案 1 :(得分:2)
您已在查询中为$ content添加单引号,这是不需要的。
mysql_query("INSERT INTO `posts` VALUES ('','".$_POST['subject']."','$content','0')");
将其更改为
mysql_query("INSERT INTO `posts` VALUES ('','".$_POST['subject']."','".$content."','0')");
答案 2 :(得分:0)
PHP解析器不会返回任何错误,因此错误可能在数据库端。 我最重要的一件事就是取代
INSERT INTO `posts` VALUES ('','".$_POST['subject']."','$content','0')
与
INSERT INTO `posts` VALUES (NULL,'".$_POST['subject']."','$content','0')
因为您的数据库配置可能不允许您尝试使用的构造。