我每提交一次,数据库便会插入两条相同的信息。我的主键id设置了自增,问题似乎就出现在这里,当我在php页面的上插入id的值时,点击提交,此时mysql就只是插入一条信息。
本菜鸟刚学php,百思不得其解!
望路过的各位大侠高抬贵手,拔刀相助啊!小弟在此感激不尽!if($_POST['submit']){
mysql_query("set sql_mode=''");  
$sql="insert into message1 (id,user,title,content,lastdate)values('','$_POST[user]','$_POST[title]','$_POST[content]',now())";
echo "$sql";
mysql_query($sql,$conn)or die("数据库链接错误");

}

解决方案 »

  1.   

    我觉的不像是有没有设置id的值造成的
    命令行运行 SELECT * FROM message1; 语句,得到了什么?
    最好也能贴出 show create table `message`;
      

  2.   

    CREATE TABLE `message` (
      `id` tinyint(1) NOT NULL auto_increment,
      `user` varchar(25) NOT NULL,
      `title` varchar(50) NOT NULL,
      `content` tinytext NOT NULL,
      `lastdate` date NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=1 ;
      

  3.   

    首先换个浏览器试试,可能是浏览器的原因;
    然后看下就你的提交是form提交+JS提交吗?可能不小心提交2次
      

  4.   

    mysql_query("set sql_mode=''");  把这行去掉或许能看到点什么
      

  5.   


    我试了火狐,ie,opear还是没用
    下面是我的源码,不知道是不是我数据库的配置有问题哟
    <?php
    include("conn.php");if($_POST['submit']){
    mysql_query("set sql_mode=''");  
    $sql="insert into message1 (id,user,title,content,lastdate)values('','$_POST[user]','$_POST[title]','$_POST[content]',now())";
    echo "$sql";
    mysql_query($sql,$conn)or die("数据库链接错误");

    }
     if (mysql_query($sql,$conn))
        {
            echo "成功执行";
        }else {
            echo "执行不成功";
        }
    ?><form action="add.php" method="post">用户:<input type="text" name="user" /><br/>
    标题:<input type="text" name="title" /><br/>
    内容:<textarea name="content" ></textarea><br/><input type="submit" name="submit" value="发布留言"></form>
      

  6.   

    mysql_query($sql,$conn)or die("数据库链接错误");} // 第二次查询数据库
     if (mysql_query($sql,$conn))
    查询了两次嘛!
    改成这样写,把查询结果存在变量里.这样就不需要二次调用查询函数了
    $result = mysql_query($sql,$conn)or die("数据库链接错误");
    }
     if ($result)
      

  7.   

    另外我是在本机自己搭建php的环境,如果真的解决不了,就只能全手动了呜呜
    我宿友用的wamp包,跟我一样的代码,就都没事
    我配置个环境都花了3天时间哪
    实在是舍不得换了,郁闷郁闷呐