Php 24小时后更新指定的用户行
我想创建一个活动(就我的研究而言,它是合适的)。我想更新特定用户的特定行。 例如 我有一个默认值为50硬币的用户。 我需要一个逻辑来知道如何在24小时后更新50到60。我试着自己登录,但我在很多事情上都遇到了麻烦,比如我如何比较用户的日期和时间,检查是否是24小时。如何在CREATE事件中添加WHERE条件。 我的代码Php 24小时后更新指定的用户行,php,mysql,Php,Mysql,我想创建一个活动(就我的研究而言,它是合适的)。我想更新特定用户的特定行。 例如 我有一个默认值为50硬币的用户。 我需要一个逻辑来知道如何在24小时后更新50到60。我试着自己登录,但我在很多事情上都遇到了麻烦,比如我如何比较用户的日期和时间,检查是否是24小时。如何在CREATE事件中添加WHERE条件。 我的代码 $user\u table=$username'_msgs′; $\会话['username']=$username; $name=$\会话['username']; mysql
$user\u table=$username'_msgs′;
$\会话['username']=$username;
$name=$\会话['username'];
mysqli_query($con,“插入用户(用户名、密码、在线、个人资料、状态、bio、b_币)值('$username'、'$password'、'0'、'N/A'、'N/A'、'N/A'、'10');
mysqli_查询($con,“创建事件myevent
按计划以当前时间戳+间隔1分钟
做
更新用户集b_coin=b_coin+1,其中用户名=“$name”);
回声'
注册!点击这里!
';
在我看来,你的问题看起来有点让人困惑。你想每24小时更新所有注册玩家的硬币吗?如果是这样,我可以想出两种方法:
在我个人看来,我会选择1st解决方案,这听起来对此类问题更有意义。@JasonK我必须在登录表单中输入代码吗?例如,如果用户登录,那么将创建事件?为什么不选择表中的任何内容呢?查询表时只需计算硬币。您的sql将位于DO部分。从你想要的任何地方呼叫它。@JasonK,这样我就不必与用户当前的日期和时间进行比较了?我真的无法为你回答这些问题。你需要想一想什么时候事情会发生。谢谢!但是我仍然对添加WHERE条件感到困惑基本上,您已经有了WHERE条件以您需要的方式工作。带有查询的事件,您必须运行创建事件。。。查询以在数据库中而不是在代码中创建事件(不确定是否清楚)。因此,使用查询更新用户设置coin=coin+10;对你来说应该很好。现在,您只需要了解如何创建每24小时运行一次的数据库事件(或者任何其他对应用程序有意义的时间)。对于数据库事件引用,我要看一下这个问题,对我来说非常清楚。如果您需要任何其他帮助,请告诉我。问题参考:
$user_table = $username . '_msgs';
$_SESSION['username'] = $username;
$name = $_SESSION['username'];
mysqli_query($con, "INSERT INTO users(username,password,online,profile,status,bio,b_coin)VALUES('$username','$password','0','N/A','N/A','N/A','10')");
mysqli_query($con, "CREATE EVENT myevent
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 MINUTE
DO
UPDATE users SET b_coin = b_coin + 1 WHERE username='$name'");
echo '<div class="alert alert-success" role="alert">
<a href="../login" class="alert-link" style="text-align:center;">Registered! Click Here!
</div>';