mysql делает несколько вставок по одному запросу - PullRequest
0 голосов
/ 09 августа 2011

У меня есть команда на веб-странице, которая вызывает класс контроллера, который выполняет модельную функцию вставки некоторых данных в базу данных, это довольно просто, за исключением того, что каждый раз, когда я нажимаю кнопку, данные вставляются три раза, а не просто один раз.

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 секунды, а иногда нет. Иногда такого поведения не происходит, и оно просто вставляется один раз, как и ожидалось. Не уверен, что это соединение с MySQL, так как на моем локальном компьютере.

спасибо

1 Ответ

0 голосов
/ 09 августа 2011

Вы дебютируете нажатием кнопки?Другими словами, вызывается ли функция «Нажатием кнопки» или «Нажатием кнопки»?

Разница в том, что «Нажатие» будет происходить только один раз, но в зависимости от того, сколько времени вам потребуется, чтобы нажать кнопку.кнопка будет зарегистрирована как «Вниз» для нескольких циклов обновления, таким образом вызывая вставку несколько раз.Если у вас нет доступа к событию щелчка мыши, попробуйте вызывать функцию только при изменении значения кнопки сверху вниз.

Если вышеупомянутый случай, HTML будет

<input type="button" onClick=run_no_submenu_job>

Однако, вы не можете предоставить аргументы для функций таким способом.Прошло много времени с тех пор, как я использовал Javascript, поэтому я точно не знаю, как решить вашу проблему.Надеюсь, кто-то еще может расширить этот вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...