我正在使用php-mysql将值插入到表中,正确插入。通过ajax请求调用php中的插入文件。我的问题是在一些firefox版本中,请求在某些时候被触发两次,并且记录被插入表中相同数据的6次。如何在不使用独特概念的情况下防止这种情况......
答案 0 :(得分:2)
这听起来就像SQL所做的一样。您不能一遍又一遍地使用相同的数据执行查询。
正如你所说的“在一些firefox版本中,请求被触发了两次”,问题最有可能出现在你的客户端代码中,发布该代码以便我们能够为你提供帮助。
(这应该是一个评论,但我对代表的评价太低了。)
答案 1 :(得分:0)
MySQL提供REPLACE
命令,类似于INSERT
,但默认忽略重复项。文档here。
答案 2 :(得分:0)
使用jQuery可能对您有所帮助(如果您还没有)。您可以使用$(document).ready() event内置的jquery确保代码不会过早执行。
还要看一下触发ajax调用的内容,如果它的执行次数超出预期。您还可以进行一些服务器端检查,以确保尚未提交查询。
答案 3 :(得分:0)
因为您不想使用UNIQUE索引......
...通过在插入之前查询表来查看记录是否已存在,我意识到了类似的问题。我还实现了查找的时间限制。
所以这就是我的所作所为: