MySQL 插入语句正在多次执行并一次插入多个记录


MySQL insert statement is executing multiple times and inserting multiple records at a time

>我有一台新配置的服务器。

我正在尝试在 MYSQL 中简单的插入语句。

我的代码如下所示

 $stmt=mysqli_prepare($this->db->initCon(),
 "INSERT INTO user_exam_taken
 (user_exam_id, completed, last_question_id, mode, question_ids, time_elapsed, score) 
 VALUES ('".$request->user_exam_id."', '".$request->completed."', 
 '".$request->last_question_id."', '".$request->mode."', '".$request->question_ids."',
 '".$request->time_elapsed."', '".$request->score."');");  
 // This is the entire insert and its not in a loop
 mysqli_stmt_execute($stmt);

执行上述插入语句后,如果我查看表格,则会插入多行。但脚本只运行一次。

我验证我还在该表中放置了一个类型为时间戳 (CURRENT_TIMESTAMP) 的字段,该字段将显示当前时间戳值,这里对于执行插入语句后的多条记录是相同的。

更新:

在下面找到整个功能

function addExamResults(Exam_ResultVO $request)
        {
            $stmt=mysqli_prepare($this->db->initCon(),"INSERT INTO `user_exam_taken` (`user_exam_id`, `completed`, `last_question_id`, `mode`, `question_ids`, `time_elapsed`, `score`) VALUES ('".$request->user_exam_id."', '".$request->completed."', '".$request->last_question_id."', '".$request->mode."', '".$request->question_ids."', '".$request->time_elapsed."', '".$request->score."');");
            mysqli_stmt_execute($stmt);
            $request->id=$this->db->getLastInsertId();
            return $request;
        }

我正在使用 amfphp 编写具有此功能的服务类,前端是 Flex 应用程序。

正如我所说,整个应用程序在另一台服务器上运行良好,但最近它被移动到了AWS服务器

由于上面的代码,除非:

  • 该脚本被多次调用。您可以通过使用 firebug 或 fiddler 来监控浏览器中的请求来验证这一点。
  • 存在导致重复的触发器。

此外,多次刷新页面也会导致多次插入。

拥有更多代码以查看其他地方是否存在问题会有所帮助。