无法插入指向DB的链接

时间:2014-02-06 09:17:41

标签: php mysql insert

我有这段代码:

    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页面不会返回任何错误。但数据未插入数据库。 任何人都知道这是什么问题?

3 个答案:

答案 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')

因为您的数据库配置可能不允许您尝试使用的构造。