数字计数器。时间用户登录

时间:2017-01-31 11:46:47

标签: php mysql

我的主页

$val="SELECT Visit FROM signup WHERE Name = '$myusername'";
            $rlt = mysqli_query($conn,$val);
      $rw= mysqli_fetch_array($rlt,MYSQLI_ASSOC);
  $_SESSION['login_user'] = $myusername;
          $inc=++$rw["Visit"];
      $valnew="UPDATE table signup set Visit =$inc where Name=$myusername "
  mysqli_query($conn,$valnew); 
      $_SESSION['query'] = $inc; 

登录页面

$check = $_SESSION['query'];
   echo "You are visiting this page".$check." times";
动机: - 当用户登录时,将能够看到他没有。访问。

问题:更新查询不起作用,这就是为什么总是回应一次访问。

2 个答案:

答案 0 :(得分:0)

您可以使用MySQL的自我增量来实现这一点。

UPDATE查询应采用以下格式:

UPDATE table_name SET column={value} WHERE {case}

此外,如果查询条件不是数字,并且没有数据绑定,则应使用quotation marks引用它。

$valnew = "UPDATE signup set Visit=Visit+1 where Name='{$myusername}'";

此外,您的原始代码存在原子性问题,使用此代码会使增量查询成为原子。

详细了解ACID(原子性,一致性,隔离性,耐用性)here

答案 1 :(得分:0)

您的更新查询错误,首先在localhost phpmyadmin上测试您的查询,然后尝试将其集成到您的代码中。

更改

UPDATE table signup set Visit =$inc where Name=$myusername 

UPDATE signup set Visit =$inc where Name='$myusername';