Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL数据库是否随机停止接收数据?_Php_Mysql_Loops_While Loop - Fatal编程技术网

Php MySQL数据库是否随机停止接收数据?

Php MySQL数据库是否随机停止接收数据?,php,mysql,loops,while-loop,Php,Mysql,Loops,While Loop,我正在开发一个很好的小应用程序。我在做一个滴答计数器,计算程序运行了多少次。但是,它会在1355点左右随机停止输入数据。。。我必须让它继续运行直到它达到5000。但有时会达到5002。。。我也在那件事上迷失了。。。我更希望循环永远运行,直到终止。如果有人能帮我的话,你可以吃点饼干。总之,我的主要问题是在没有随机停止的情况下,连续地将数据放入数据库 while($run && $dataA['StateOfBot'] == 1){ if($dataA['Tick'] >

我正在开发一个很好的小应用程序。我在做一个滴答计数器,计算程序运行了多少次。但是,它会在1355点左右随机停止输入数据。。。我必须让它继续运行直到它达到5000。但有时会达到5002。。。我也在那件事上迷失了。。。我更希望循环永远运行,直到终止。如果有人能帮我的话,你可以吃点饼干。总之,我的主要问题是在没有随机停止的情况下,连续地将数据放入数据库

while($run && $dataA['StateOfBot'] == 1){
    if($dataA['Tick'] >= 5000){
        mysql_query("UPDATE state SET StateOfBot = 0 WHERE ID = 1;");
    }
    $dataA['Tick'] = $dataA['Tick'] + 1;
    mysql_query("UPDATE state SET Tick = '".$dataA['Tick']."' WHERE ID = 1;");
    $data = mysql_query("SELECT * FROM state");
    $dataA = mysql_fetch_array($data);
}

我认为你的代码有很多错误

while($run && $dataA['StateOfBot'] == 1){
    if($dataA['Tick'] >= 5000){
        mysql_query("UPDATE state SET StateOfBot = 0 WHERE ID = 1;");
        break; //get out of the loop
    }
    $dataA['Tick'] = $dataA['Tick'] + 1;
    mysql_query("UPDATE state SET Tick = '".$dataA['Tick']."' WHERE ID = 1;");
    $data = mysql_query("SELECT onefield_only FROM state");
    $dataA = mysql_fetch_array($data);
}

我试着把它修好一点。你需要一个中断语句来摆脱循环。

5000多个问题闻起来像是同步问题。如果多个线程正在输入代码的tnis部分,则可能会发生该行为。为什么不让这段代码成为关键部分?什么是关键部分?你有一个有例子的网站吗?算了吧,它看起来像PHP脚本是单线程的,所以我的假设不会有问题