2011-07-03 229 views
-2

Righ,t在我的网站上,管理员将信息放入表单中,然后将其发送并成为主页(Title,Body,Dateposted)上的新闻Feed,但由于某些原因我检查了工作代码)此代码无法正常工作,我不知道为什么,有人可以帮助我吗?PHP插入问题

<?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."; 
    } 
} 
?> 

我DATEBASE行:

[id] 
[title] 
[body] 
[date_posted] 
+0

你的代码是一团糟和不完整的,这样我们就不能做任何正面或反面的。例如,可能你的'body'变量包含引号(单引号),因此查询无效 - 尝试使用'mysql_real_escape_string()'。 – KilZone

+0

问题具体是什么?如果那是你的整个脚本,那么数据库连接就没有打开,不知道这是否是你的错误。 – Tak

+0

我想你是因为'$ title','$ body'或'$ date'中的数据而导致语法错误。有关更多信息,请参见['mysql_real_escape_string'](http://docs.php.net/mysql_real_escape_string)。 – Gumbo

回答

0

如果你的ID字段被指定为自动递增

http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html

编辑

的这只会工作其他技术你可以采用的是把你的sql放到一个变量中,当你遇到问题时,你可以将它回显到页面上(或者放到你的error_log中)。它只是表示这样做:

$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; 
+0

我的ID字段是AI。 –

+0

如果有人怀疑PHP或sql是否会导致某些真实数据被替换,即INSERT INTO news('title','body','date_posted')VALUES('test','test','test')“谢谢 – Cups

+0

Thankyou,我从来没有或者在INSERT语句中以这种形式进行错误测试。 –