我在脚本中使用了一个非常简单的PHP插入,并且每次执行时它都会使条目加倍。
(为了确保我没有执行两次脚本,我使用mail()函数在执行时给我发电子邮件,我只收到一封电子邮件)
$hostname = "localhost";
$pass = "password";
$muser = "username";
$dbconn = mysql_connect($hostname, $muser, $pass);
$db ="database";
mysql_select_db($db);
$query = "INSERT INTO tablename (field1, field2) VALUES ('happy', 'birthday')";
mysql_query($query);
答案 0 :(得分:3)
至少有三种方法可以实现:
由于您说您只收到一封电子邮件,我们可能会排除#2(除非您的电子邮件服务器有速率限制器,并且只发送两条消息中的一条)。
我们可以出于同样的原因排除#1,除非mail()调用不包含在与mysql_query()调用相同的函数中。
因此我们不得不寻找另一个复制数据的过程。您发布的代码不足以做出此决定。
答案 1 :(得分:0)
是否有可能在该表中附加写得不好的触发器?如果从mysql控制台或mysqladmin执行该脚本该怎么办?
答案 2 :(得分:0)
这可能是一个远景,但如果您从浏览器调用脚本并在脚本生成的页面上有一个<img>
标记,其中包含空src
属性,那么浏览器将为此假设将相同的URL与脚本的URL相同,并将额外的时间调用您的脚本。
我认为任何其他加载外部资源的html标记都是如此。
事实上,你只收到一封电子邮件就会反对这种情况,但如果我是你,我还是会检查出来。