phpmysqli查询未执行某些查询且没有错误

phpmysqli查询未执行某些查询且没有错误,第1张

概述我的服务器上每分钟都有一个脚本运行,基本上可以完成一项cron任务,为我为一些朋友制作的小游戏更新数据库中的某些变量.我遇到的问题是该脚本仅运行某些查询,但无法更新其他查询.我已验证它正在连接,但无法进行比较.任何帮助,将不胜感激.这是我目前无法使用的通话.//Query server $query = 'SELECT id, usr, dt, is_onl

我的服务器上每分钟都有一个脚本运行,基本上可以完成一项cron任务,为我为一些朋友制作的小游戏更新数据库中的某些变量.

我遇到的问题是该脚本仅运行某些查询,但无法更新其他查询.我已验证它正在连接,但无法进行比较.任何帮助,将不胜感激.

这是我目前无法使用的通话.

//query server$query = "SELECT ID,usr,dt,is_online FROM player_data WHERE is_online =1";$result = MysqLi_query($conn,$query);// If connection is goodif ($result = MysqLi_query($conn,$query))     {        echo "Connected </br>";    /* fetch associative array */    while ($row = MysqLi_fetch_assoc($result))         {            //Get time of Now,and time of last activity            echo "loop started </br>";            $Now = strtotime(date("Y-m-d h:i:s",strtotime("Now")));            $before = strtotime(date("Y-m-d h:i:s",strtotime($row['dt'])));            //Add five minutes to the last activity            $then = $before + (60 * 5);            //display the times            echo $before . "</br>";            echo $Now . "</br>";            echo $then . "</br>";            //determine if the time Now is more then 5 minutes after the last activity            if (strtotime($Now) > strtotime($then))                {                    //set user to offline if more then 5 minutes has passed.                    MysqLi_query($conn,"UPDATE player_data SET is_online = 0");                    echo "1.User: " . $row['usr'] . "</br>";                    echo "1.Database: " . $row['dt'] . "</br>";                    echo "1.System: " . date('Y-m-d H:i:s') . "</br>";                    echo "Now: " . $Now . "</br>";                    echo "Before: " . $before . "</br>";                    echo "then: " . $then . "</br>";                }        }    }`````````````````````````````````````````````````````````````````````````this should set anyone who has not been active in the last 5 minutes to is_online = 0 but does not.This is the actual output as of right Now with the last activity being more then 1.5 hours earlIEr.Connected loop started 155568720015557778241555687500loop started 155568722715557778241555687527
最佳答案好吧,让我猜猜,脚本正在设置为所有人离线,对吗?
问题是您错过了UPDATE语句中的WHERE子句

MysqLi_query($conn,"UPDATE player_data SET is_online = 0");

因此,最好回顾一下该部分.应该是这样的

MysqLi_query($conn,"UPDATE player_data SET is_online = 0 WHERE ID = " . $row['usr']);

另外,也不需要比较strtotime($Now)和strtotime($then):$Now和$then已经具有“ microtime”值,因此您可以这样做:

if ($Now > $then) {    //your code here}

顺便说一句,即使您没有使用任何REQUEST参数,我还是建议您使用准备好的语句. 总结

以上是内存溢出为你收集整理的php / mysqli查询未执行某些查询且没有错误 全部内容,希望文章能够帮你解决php / mysqli查询未执行某些查询且没有错误 所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1166063.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存