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

时间:2013-09-18 08:27:19

标签: php mysql amfphp

我有一个新配置的服务器。

我在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);

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

我验证我还在该表中添加了一个字段,其中包含类型timestamp(CURRENT_TIMESTAMP),该字段将显示当前时间戳值,此处对于执行该insert语句后的多条记录相同。

更新

查找以下整个功能

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服务器

1 个答案:

答案 0 :(得分:0)

由于代码在上面,除非:

,否则无法插入多行
  • 多次调用该脚本。您可以使用firebug或fiddler来监控浏览器中的请求来验证这一点。
  • 有一个导致重复的触发器。

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

为了查看其他地方是否存在问题,有助于获得更多代码。