2016-06-07 96 views
-4

我有我的代码问题...即时通讯不知道是什么导致它在我的数据库中输入两次。在表格中输入的信息被插入到数据库中,然后在它下面有另一个条目,但它是空的。它会在每次提交表单时发生。我如何解决它?如何修复数据库中的重复条目?

<?php 
// form data // 

$id = $_POST['id']; 
$joined = date("Y/m/d"); 
$uname = $_POST['uname']; 
$email = $_POST['email']; 

// Create connection 
$connect = mysql_connect("localhost","user","pass"); 
mysql_select_db("db"); //select database 


    //register into database 


    $sql = mysql_query(" 

    INSERT INTO table VALUES 
('','$joined','$uname','$email')  
    "); 

echo "thanks for signing up!"; 

?> 
+0

为什么你把你的第一个值作为空白? –

+0

尝试在插入后立即关闭连接。 (注意:这是你查询类似问题的最小问题。) –

+0

我试图在代码中删除'id'的空白值,但它甚至不会再插入到数据库中,所以我保留它。 – JayM

回答

0

没有必要提ID为空白的查询自动获取其定义主键和经销商increment.You查询应该喜欢这个ID和表名之后,你还可以指定列名从数据库中:

$sql=mysql_query("insert into `table`(joined,uname,column) values('$joined','$uname','$email')"); 
0

您必须使用验证您的形式来解决重复迄今在database.You使用表单中的id字段所以肯定,你应该使用JavaScript。

1

我怀疑这可能与.htaccess重定向第二次,这可能解释插入,但具有空白值。请在插入前确认这些值不是空值。这将保持你的空白值。

此外,请检查您的.htaccess并解决导致它打你的页面两次的任何问题。

+0

如何检查.htaccess页面?我将所有空值都更改为yes,但它仍然在实际提交的条目下插入额外的空白条目。 – JayM

+0

我发现我的.htaccess页面,但它是空白的... – JayM

+1

我建议你使用if条件来检查空值。 'if($ joined!=''&& $ uname!=''&& $ email!='')' 插入查询之前。我很确定它是一个重定向到您的页面没有引起空值的POST变量。检查你的http访问日志,看看我的意思。 – phreakv6