Php 统计用户登录时间的计数器
我的主页Php 统计用户登录时间的计数器,php,mysql,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="UPD
$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";
动机:-当用户登录时,将能够看到他的访问次数
问题:更新查询不起作用,这就是为什么总是回显1次访问。您可以使用MySQL的自增量来实现这一点
UPDATE
查询应采用如下形式:
UPDATE table_name SET column={value} WHERE {case}
此外,当查询条件不是数字且没有数据绑定时,应使用引号对其进行引用
$valnew = "UPDATE signup set Visit=Visit+1 where Name='{$myusername}'";
另外,您的原始代码存在原子性问题,使用此代码,将使增量查询原子化
了解有关ACID(原子性、一致性、隔离性、耐久性)的更多信息。如果更新查询错误,请首先在localhost phpmyadmin上测试查询,然后尝试将其集成到代码中
改变
UPDATE table signup set Visit =$inc where Name=$myusername
到
UPDATE table signup
替换为UPDATE signup
仍不起作用:(@cskewad't't you,self increment将随着记录的增加而增加值?我想增加单个记录的用户登录次数每次执行此查询时,Visit
都会增加。是的,现在可以了。谢谢:)@haotian
UPDATE signup set Visit =$inc where Name='$myusername';