【问题标题】:mysql query inserting data multiple timesmysql查询多次插入数据
【发布时间】:2020-12-25 14:00:16
【问题描述】:

我有一个表 log_Data 我在其中记录用户输入的搜索关键字。我面临一个问题,即 mysql 查询多次插入数据。查询非常简单INSERT INTO TABLE_NAME (id, keyword, date_adde) ... 但是如果用户输入一些单词...查询将插入它,几秒钟后它会再次插入,有时它会插入相同的记录 4 5 次。

如何限制和使插入更准确,这样我就可以避免重复并获得更好、更准确的搜索报告。

编辑

在我的控制器内部:

        if(isset($this->request->get['search']) && $this->request->get['search'] != ' '){
            $search_log = array(
                'keyword' => $this->request->get['search'],
                'source'  => '0', //0 for website and 1 for application
                'total_result' => $product_total
            );
            $this->model_catalog_product->searchLog($search_log);
        }

在我的模型中:

public function searchLog($data){
    $query = $this->db->query("INSERT INTO search_log SET keyword = '" . $this->db->escape($data['keyword']) . "', record = '" . (int)$data['total_result'] . "', customer_id = '" . (int)$this->customer->getId() . "', source = '" . (int)$data['source'] . "', ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "', date_added = NOW()");
}

附上一张图片,其中客户搜索heel“以黑色突出显示”插入了 7 次,差异在几秒钟内...客户最初仅搜索了 1 次...与其他词相同。 ..

【问题讨论】:

  • 在问题中发布您的代码
  • 您能通过一些示例数据来定义“重复”在这里的实际含义吗?如果您获得 4 次插入,则它们很可能是您的代码进行 4 次插入。
  • 在我的问题中添加图片以详细说明...
  • @Chilarai 我应该插入什么代码???我提到了查询..它只是简单的插入查询...
  • @MuhammadHashirAnwaar,除非触发查询,否则数据不会自行插入。正确的?那么您能否向我们展示导致此问题的代码部分(if 条件、循环等)。您提到您在 PHP 中遇到问题

标签: php mysql insert sql-insert


【解决方案1】:

首先,检查您的代码。第二个做一个 unquiq 键:

md5(关键字+日期+小时)

【讨论】:

    【解决方案2】:
    • 尝试通过添加会话保护来避免任何形式的重复 添加隐藏输入 称之为双重保护 它的值来自随机化,如 rand(1000, 10000000000) 或 md5(time()) 然后将此值保存在会话中,如 $_SESSION[ '双重保护']
    • 在提交表单之后,在插入数据库之前将输入值与 $_SESSION['doubleprotection'] 进行比较,如果查询相等,则从 rand(1000, 10000000000) 中给出 $_SESSION['doubleprotection'] 新值
    • 如果输入值和 $_SESSION['doubleprotection'] 不相等,停止查询

    【讨论】:

      猜你喜欢
      • 2015-05-02
      • 2012-09-12
      • 2012-12-16
      • 2017-07-31
      • 1970-01-01
      • 2014-08-23
      • 2014-07-21
      • 2016-07-01
      • 1970-01-01
      相关资源
      最近更新 更多