PHP插入问题

PHP插入问题,php,mysql,Php,Mysql,嗯,所以在我的网站上,一个管理员把信息放到一个表单中,然后发送,并成为主页上的一个新闻提要(标题、正文、发布日期),但是由于某种原因,(我已经对照工作代码检查过)这个代码不工作,我不知道为什么,有人能帮我吗 <?php $post = mysql_query("INSERT INTO news(`title`,`body`,`date_posted`) VALUES('$title','$body','$date')"); mysql_close($con

嗯,所以在我的网站上,一个管理员把信息放到一个表单中,然后发送,并成为主页上的一个新闻提要(标题、正文、发布日期),但是由于某种原因,(我已经对照工作代码检查过)这个代码不工作,我不知道为什么,有人能帮我吗

<?php
        $post = mysql_query("INSERT INTO news(`title`,`body`,`date_posted`) VALUES('$title','$body','$date')");

        mysql_close($connect);

        header("Location: news.php");
    } 
    else 
    {
        echo "The body of the news post you entered is too short.";
    }
} 
?>

只有当您的ID字段被指定为自动递增时,这才有效

编辑

您可以采用的另一种技术是将sql放入一个变量中,当遇到问题时,您可以将其返回到页面(或错误日志)中。它只是意味着这样做:

$sql = "INSERT INTO news(`title`,`body`,`date_posted`) VALUES('$title','$body','$date')";
$post = mysql_query($sql);
// now have an optional line of debug
echo $sql;

你的代码乱七八糟而且不完整,这样我们就无法理解它的任何头绪。可能您的“body”-变量包含引号(单引号),因此查询无效-例如,尝试使用
mysql\u real\u escape\u string()
。具体问题是什么?如果这是您的整个脚本,则数据库连接未打开,不确定这是否是您的错误。我猜您的语法错误是由于
$title
$body
$date
中的数据造成的。有关更多信息,请参阅。可能与获取您得到的确切错误有关。在查询后添加
echo mysql\u error()
,以查看错误消息。如果怀疑是PHP或sql造成的,请替换一些真实数据。。ie插入新闻(
标题
正文
发布日期
)值('test','test','test')“谢谢,我从来没有想过用INSERT语句在这种形式下进行错误测试。
$sql = "INSERT INTO news(`title`,`body`,`date_posted`) VALUES('$title','$body','$date')";
$post = mysql_query($sql);
// now have an optional line of debug
echo $sql;