Mysql CodeIgniter将页面浏览量增加/计数两次,而不是一次

Mysql CodeIgniter将页面浏览量增加/计数两次,而不是一次,mysql,codeigniter,increment,pageviews,Mysql,Codeigniter,Increment,Pageviews,我只是想通过CodeIgniter的活动记录增加每次访问的页面浏览量。出于某种原因,以下代码将递增两次。因此,每次访问增加2个页面浏览量。奇怪的是,它在另一个共享同一个表和相同方法代码的网站上使用,并且在另一个网站上正常工作。视图字段是一个简单的int(11)。我在控制器中只调用了一次这个方法,我想我可能有一个副本,但我没有 function increment_video_view($video_pk) { $this->db->where('video_pk', $vid

我只是想通过CodeIgniter的活动记录增加每次访问的页面浏览量。出于某种原因,以下代码将递增两次。因此,每次访问增加2个页面浏览量。奇怪的是,它在另一个共享同一个表和相同方法代码的网站上使用,并且在另一个网站上正常工作。视图字段是一个简单的int(11)。我在控制器中只调用了一次这个方法,我想我可能有一个副本,但我没有

function increment_video_view($video_pk) {
    $this->db->where('video_pk', $video_pk);
    $this->db->set('views', 'views+1', FALSE);
    $this->db->update('videos');
}

任何想法或帮助都将是伟大的!谢谢

您确定控制器只执行一次吗?

尝试将echo(或log)语句放入函数中,查看它是否实际被调用两次。让我们知道它是否只有一次

function increment_video_view($video_pk) {
    echo "We in increment_video_view";
    $this->db->where('video_pk', $video_pk);
    $this->db->set('views', 'views+1', FALSE);
    $this->db->update('videos');
}

如果HTML中有404链接(image/css/favicon),或者缺少favicon.ico,就会发生这种情况


Chrome会查找favicon.ico,即使您没有将其插入HTML中,但当它发现它丢失时,我认为它会调用另一个请求。

我在整个项目范围内进行了搜索,并且只调用了一次increment\u video\u view()方法。如果您询问控制器方法本身是否被调用了两次,我搜索了一下,它也只被调用了一次。调用视频页面的控制器方法和增量方法称为videos(),只调用一次。谢谢你…它只显示了一次,但我想我发现了问题所在。我一定是在几周前的代码中有一个老bug,并且从来没有更新过我在项目中的新模型文件。视图现在一次递增一个。愚蠢的错误,我认为模型是最新的。非常感谢。我会把你标记为正确答案,因为它确实间接地解决了我的问题,而回声是一个聪明而简单的想法,我以前应该尝试过。非常感谢。FireFox更新页面视图一次,Safari更新页面视图一次,Chrome更新页面视图两次。您的回音在所有三个浏览器上只显示一次。我不确定Chrome到底出了什么问题……我的代码很好,我的live服务器上有一个过时的模型。本地模型的最新版本是正确的,这就是您在上面看到的代码。感谢下面的帮助!试着启用探查器,看看执行了什么。我很快就跟他谈过了,这很奇怪。我刚刚注意到FireFox中的页面视图更新正确,但在Chrome中更新了两次。这有什么意义?我一定是在做一些奇怪的事情……我运行了探查器,页面只运行了一个更新查询,这是增量查询。没有重复的。这可能是一个损坏的数据库问题吗?无论如何,损坏的数据库也没有意义,因为其他浏览器都很好。我完全搞糊涂了。看起来这可能是Chrome本身的一个问题:如果有人有任何想法或解决方案,我还是会喜欢的?谢谢