我的主页
$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";
动机: - 当用户登录时,将能够看到他没有。访问。
问题:更新查询不起作用,这就是为什么总是回应一次访问。
答案 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';