用jquery和ajax php将数据插入到mysql数据库,为什么插入一条就再不能插入了?帮忙解答一下。

代码:
js:
<script type="text/javascript">
$(function(){
$('.sub[name=submit]').click(function(){
var em=$('.text[name=email]').val();
var pass=$('.text[name=pass]').val();
$.ajax({type:"GET",url:"./reg.php?dt="+new Date().getTime(),data:{email:em,password:pass},
success:function(m){alert(m);},

})
})
})

</script>
<div id=reg>
<dl><dd><span>电子邮箱:</span><input type="text" name="email" class="text" id="e"/></dd>
<dd><span>密  码:</span><input type="password" name="pass" class="text"/></dd>
<dd><input type="submit" name="submit" value="提交" class="sub"/></dd>
</dl>
</div>

php:
<? header('Content-Type:text/html;charset=GB2312');
$conn = mysql_connect('localhost','root','')or die('连接失败 : '.mysql_error());
$open=mysql_select_db("caidan",$conn);
mysql_query("set names gb2312");
$infom=$_GET['email'];
$infop=$_GET['password'];
$pa=md5($infop);
$ins="insert into userinfo(email,password)values('".$infom."','".$pa."')";
mysql_query($ins);

?>

因为你是采用get方式发送请求的,

在上面的例子中,您可能得到的是缓存的结果。为了避免这种情况,例如可以向 URL 添加一个唯一的 ID: xmlhttp.open("GET", "reg.php?t="+Math.random(), true);


我看了你上面的dt=+new Date().getTime(),我验证了一下,如下图所示:

为什么getTime()得到的不是真正的日期呢?


如果不是缓存问题,那么就可能是数据库设置方面。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-07
是不是你的数据库设置错了,你把数据库id设为主键,并且自动递增,再试试看
第2个回答  2013-05-07
应该你的数据库设计错了。数据表主键有没有自动增长?最好把错误信息贴出来。
第3个回答  2013-05-08
数据库是不是有个主键id值 你没有勾选 自动递增