-1

我设置了这个帖子表,其中有一hits列。该hits列用于存储帖子被查看的次数。然而,问题在于更新查询。数据库在我的本地(开发)机器上,所以我是唯一访问脚本的用户。当我查看帖子时,它会更新但使用虚假数据,例如当我查看页面时当前计数为 10 时,它会跳转到 25 左右......非常随机......但增量。我想知道我哪里出错了。这是一个代码示例:

Public function getPost()
{
//some data query to get post data and the post id 
 $this->viewsCounter($pid);
Return post data as array.
}

第一种方法没问题 现在这里是viewsCounter()方法

Public function viewsCounter($pid)
{ 
    $this->query("update post set hits=hits+1 where id='$pid' "); 
}

我的hits专栏是这样设置的,hits int(255) NOT NULL请帮助这里缺少什么?

4

2 回答 2

1

正如@AD7six 所说,计数器被调用了 34 次......错误来自其他地方。我使用绝对 url 来加载一些 js 和 css 文件。保存此 URL 的变量有点损坏,资源没有很好地加载,因此额外的视图....感谢大家的帮助。

这是导致错误的代码片段

$file_path='http://mysite.com/resources';

然后在我的页面上我做了这个

<link rel='stylesheet' href='<? echo $files_path ;?>/css/style.css' type='text/css' /> 

这变成了相对 url,因为没有调用 file_path 变量。相对 url 被附加到我当前的 url 上,因此在服务器尝试获取资源时会产生额外的命中。

再次感谢。

于 2013-07-10T14:15:11.760 回答
0
//int(255) NOT NULL change it as int(11) unsigned and validate the pid

//add validation
<?php 

function viewsCounter($pid)
{ 
    //validate here
    if(!empty($pid))
    {
        $this->query("update post set hits=hits+1 where id='$pid' ");

    }else{
        //your error message goes
    }

}
于 2013-07-10T12:36:49.040 回答