模仿例子做的,写入MYSQL中的message表中,conn.php连接数据库测试是成功的,但是表单提交不能将数据写入数据库中,跟示范是一样的,但是一直fail不知道问题出在哪了,请指点。下面是php代码
<?php
 include("conn.php");
 
 if($_POST['submit']){
  $sql = "insert into message (id,user,title,content,lastdate) " .
   "values('','$_POST[user],'$_POST[title]','$_POST[content]',now())";
   
  @mysql_query($sql) or die("fail");
   }
?>

解决方案 »

  1.   

    没看出大的毛病,是不是values(''
    第一个是ID自动增长列,如果是的话则不用写这个,把ID去掉,或者赋值为NULL
      

  2.   

    是自增的,但是去掉也没用。。
    测试是显示连接成功了,就两句话
     $conn = @mysql_connect("localhost","root","") or die("wrong"); mysql_select_db("bbs",$conn);
     mysql_query("set names 'GBK'");
      

  3.   

    - -你是GET提交过来的吗?!
      

  4.   

    把 $sql = "insert into message (id,user,title,content,lastdate) " .
          "values('','$_POST[user],'$_POST[title]','$_POST[content]',now())";
    改成:$sql = "insert into message (id,user,title,content,lastdate) " .
          "values('','".$_POST['user']."','".$_POST['title']."','".$_POST['content']."',now())";
      

  5.   

    如果还不正确 那lastdate就可能不是 整型
    就得$sql = "insert into message (id,user,title,content,lastdate) " .
          "values('','$_POST[user],'$_POST[title]','$_POST[content]','".now()."')";
      

  6.   

    这个其实简单。记住 在sql中引用变量,就用'".某变量."'这种格式就行了。
      

  7.   

    回复:9楼不是因为中文字符的问题....回复:LZ原因很简单,你的user,title等等都是字符串,所以插入数据库的时候要加入引号的。
      

  8.   

    到PHPmyadmin执行下你的数据库代码看看错误,确保执行无误,再用变量替换里面的数值
      

  9.   


    由于没有打开register_global=on;因此$_POST[user]的表单元素变量名必须加''号,为 $_POST['user']<?php
     include("conn.php");
     
     if($_POST['submit']){
         $sql = "insert into message (id,user,title,content,lastdate) " .
          "values('','".$_POST['user']".,'".$_POST['title']."','".$_POST['content']."',now())";
          
         @mysql_query($sql) or die("fail");
          }
    ?>