【发布时间】: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