Heim  >  Artikel  >  Backend-Entwicklung  >  MySql字段加1出错

MySql字段加1出错

WBOY
WBOYOriginal
2016-06-06 20:23:141252Durchsuche

很多天前就发现的问题,当时以为是自己机器问题,现在上传云服务器还是没能解决,望大神助我~
首先是我的个人博客文章在Mysql里有个Look字段,每次查看这个博客,这个字段便在原值上加1,但问题是我每次点击查看它总是原值加2,这真的令我费解,看源码

<code>public function viewBlog(){
        $_sql='SELECT *
            FROM blog
            WHERE id='.$this->_id.' AND verify=1';
        $_sqlView='UPDATE blog SET `look`=`look`+1 WHERE id='.$this->_id;
        parent::aud($_sqlView);
        return parent::getOne($_sql);
    }
    </code>

这是Model里的源码

<code>private function viewBlog(){
            $this->_model->_id=Tool::checkInt(@$_GET['id']);
            $_oneBlog=$this->_model->viewBlog();
            $this->_tpl->assign('oneBlog',$_oneBlog);
        </code>

这是控制器的源码片段,已确定viewBlog()函数只执行了一遍,更诡异的是如果我点击评论(评论和查看相比a标签只多了一个#anchor锚点定位到评论框)它的look值便会加3,然后再点击查看或评论它便正常加1了。。。。。。
求大神告知个人博客这是我的博客地址,并不是求访问量,真的求大神解答~~~

回复内容:

很多天前就发现的问题,当时以为是自己机器问题,现在上传云服务器还是没能解决,望大神助我~
首先是我的个人博客文章在Mysql里有个Look字段,每次查看这个博客,这个字段便在原值上加1,但问题是我每次点击查看它总是原值加2,这真的令我费解,看源码

<code>public function viewBlog(){
        $_sql='SELECT *
            FROM blog
            WHERE id='.$this->_id.' AND verify=1';
        $_sqlView='UPDATE blog SET `look`=`look`+1 WHERE id='.$this->_id;
        parent::aud($_sqlView);
        return parent::getOne($_sql);
    }
    </code>

这是Model里的源码

<code>private function viewBlog(){
            $this->_model->_id=Tool::checkInt(@$_GET['id']);
            $_oneBlog=$this->_model->viewBlog();
            $this->_tpl->assign('oneBlog',$_oneBlog);
        </code>

这是控制器的源码片段,已确定viewBlog()函数只执行了一遍,更诡异的是如果我点击评论(评论和查看相比a标签只多了一个#anchor锚点定位到评论框)它的look值便会加3,然后再点击查看或评论它便正常加1了。。。。。。
求大神告知个人博客这是我的博客地址,并不是求访问量,真的求大神解答~~~

你先不要直接存进数据库先,测试一下look=look+1是不是这里有问题,看看是不是真的访问了一次

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn