我有如下所示的简单代码。运行一次后,它会将结果插入MySQL数据库两次。 除了Firefox之外,它在所有浏览器(IE,Chrome和Safari)中运行良好。
我正在使用symfony php框架并推进为ORM。
$con = Propel::getConnection();
$sql = "select * from tmp where user_id =$userid";
$stmt = $con->prepare($sql);
$stmt->execute();
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
$insert_sql = "INSERT IGNORE into library(xxx,xxx) VALUES('xyz','xys')";
$insert_stmt = $con->prepare($insert_sql) ;
$insert_stmt->execute();
}
答案 0 :(得分:1)
大多数情况下,这是不明智的mod_rewrite使用的结果,使某些文件充当404错误处理程序。
因此,如果找不到某些资源,则会调用并执行这样的文件。
在调用您的页面时检查HTTP标头,并查看正在发出的其他请求。
答案 1 :(得分:0)
问题更深。我不是一个php开发人员,但我能理解问题是设计。理想情况下,我认为您的客户端正在向您的服务器发出多个请求,并且每个请求都会在检查记录是否已存在之前在系统中插入记录。