Php mysql在一个查询中执行多个插入

Php mysql在一个查询中执行多个插入,php,mysql,codeigniter,Php,Mysql,Codeigniter,我在网页上有一个命令,它调用一个控制器类,该类执行一个模型函数,将一些数据插入数据库,这非常简单,除了每次我按下按钮,数据被插入三次,而不是一次 function run_no_submenu_job($job_name,$client_name,$server_id) { $this->Jobmodel->insert_client_history($userID,$firstname,$lastname,$clientname,$data['time']); } 模型函

我在网页上有一个命令,它调用一个控制器类,该类执行一个模型函数,将一些数据插入数据库,这非常简单,除了每次我按下按钮,数据被插入三次,而不是一次

function run_no_submenu_job($job_name,$client_name,$server_id)
{
    $this->Jobmodel->insert_client_history($userID,$firstname,$lastname,$clientname,$data['time']);
}
模型函数如下所示:

$query=$this->db->query("INSERT INTO clientaccesshistory (jobid, clientid, firstname, lastname, clientname, menu, submenu, starttime) VALUES ('$time','$userID','$firstname','$lastname','$clientname','Monitor/Verify', '$this->job_name',current_timestamp() )");
当我查看数据库时,信息已经添加了三次。时间戳有时相隔1秒,有时相隔1秒。有时这种行为不会发生,只会按预期插入一次。不确定这是否是与mysql的连接,因为它在我的本地pc上


谢谢

你是不是要取消按键的抖动?换句话说,该函数是在按下按钮或单击按钮时调用的

不同之处在于,单击只会发生一次,但取决于单击按钮所用的时间,它将在多个更新周期中注册为Down,从而多次调用insert。如果您无权访问鼠标单击事件,请仅当按钮的值从上到下更改时,才尝试调用该函数

如果是上述情况,HTML将是

<input type="button" onClick=run_no_submenu_job>

但是,不能以这种方式为函数提供参数。我已经很久没有使用Javascript了,所以我不确定该如何解决您的问题。希望其他人能就此问题展开讨论。

您发布的代码不会导致三次插入。请考虑发布更多的代码,特别是包含循环的相关部分。这是我使用的所有代码,唯一的循环是在视图中显示与MySQL函数调用无关的菜单选项列表,这取决于按下鼠标按钮的时间,必须插入许多插入。在这种情况下,每次插入的数量应该是不同的,而不是一直都是3。是的,我相信这就是问题所在。您能提供一个用javascript实现这一点的解决方案吗?我只是在使用codeigniter锚函数,该函数返回指向浏览者的链接: