mysql在数据库中插入两次记录

时间:2011-04-10 04:09:19

标签: php mysql symfony1 cross-browser propel

我有如下所示的简单代码。运行一次后,它会将结果插入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();
   }

2 个答案:

答案 0 :(得分:1)

大多数情况下,这是不明智的mod_rewrite使用的结果,使某些文件充当404错误处理程序。
因此,如果找不到某些资源,则会调用并执行这样的文件。

在调用您的页面时检查HTTP标头,并查看正在发出的其他请求。

答案 1 :(得分:0)

问题更深。我不是一个php开发人员,但我能理解问题是设计。理想情况下,我认为您的客户端正在向您的服务器发出多个请求,并且每个请求都会在检查记录是否已存在之前在系统中插入记录。