我已设置此帖子表,其中包含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
请帮助我在这里找不到任何内容?
答案 0 :(得分: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,因此在尝试获取资源时在服务器上创建额外的命中。
再次感谢。
答案 1 :(得分: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
}
}