为什么数据写不进数据库,帮忙看看代码
<?php
header ( "Content-type: text/html; charset=gb2312" ); //设置文件编码格式
session_start();
include "Conn/conn.php";if($_POST["submit"]=="提交"){
$content=$_POST[txt_content];
$datetime=date("Y-m-d H:i:s");
$INS="Insert Into tb_comment (tpid,content,datetime) Values ($_POST[tpid],'$content','$datetime')";
         echo"$INS";

         $info=mysql_query($INS);
if($info){
echo "<script> alert('成功发表评论!');</script>";
echo "<script> window.location.href='$_SERVER[HTTP_REFERER]';</script>";
}
else{
echo "<script> alert('评论发表操作失败!');</script>";
echo "<script> history.go(-1);</script>";
}
}
?>
运行后评论发表操作失败!echo "$INS";输出的是
Insert Into tb_comment (tpid,content,datetime) Values (29,'sdgg','2011-10-30 02:49:03')
没写进数据库

解决方案 »

  1.   


    $info=mysql_query($INS); //把这行换成下面这行
    $info=mysql_query($INS) or die(mysql_error());
      

  2.   

    datetime 是mysql 的关键字吧这个不允许做字段名的,修改下表结构。另外是否更新成功我习惯用mysql_affected_rows();
      

  3.   

    看看你的字段设计长度是否够
    尤其是datetime字段,依据你的数据形式,需要19个字符长度
      

  4.   

    改成下面这句后运行时显示:
    Duplicate entry '0' for key 1
      

  5.   

    $info=mysql_affected_rows($INS);
    是这样修改吗?表结构我已经改了
      

  6.   

    $INS="Insert Into tb_comment (tpid,content,time) Values ($_POST[tpid],'$content','$datetime')";
    表结构是
    id  int(10)
    tpid int(10)
    content text
    time datetime
      

  7.   

    另外更正下 我刚查了下 Mysql关键字 datetime 没问题,不过我不建议用这个做字段名,其次 time 也是属于这类的 。嘿嘿.
      

  8.   

    $INS="Insert Into tb_comment (id,tpid,content,time) Values ('',$_POST[tpid],'$content','$datetime')";改成这样呢?
      

  9.   


    既然是datetime类型,为啥要用char类型?直接datetime类型就行,这么没有什么长度的区分吧
      

  10.   

    怎么不看一楼的回复呢?
    瞎折腾。$info = mysql_query($INS) or die(mysql_error());
    看下什么错误信息在做相应的修改不是很方便么?