为什么MYSQL循环冻结了客户端浏览器?

扎克伯格

我有一个PHP脚本在等待MySQL数据库中的数据时运行一段时间。问题是,当客户端刷新浏览器时,这似乎不起作用,相反,它一直在等待...

下面的代码与循环

<?php
session_start();//i start the session here.
require_once('connections/connections.php');//mysql


function loop_to_get_more_data(){
    global $con;


    //checking number of connected friends in db...
    $check=$con->query("SELECT numfriends FROM SUPERDATATABLE WHERE USERID=$_SESSION[USERID] AND numfriends>0");
    if(mysqli_num_rows($check)>0){

        //here i do more work and finally exit;

    }else{
        //loop again...
        sleep(3);
        loop_to_get_more_data();
        return;//required to stop.
    }

}loop_to_get_more_data();


exit;//after finshing everything...

现在您可以看到,代码可以正常运行,但是问题是,该循环迫使浏览器等待,直到服务器响应请求或当数据存在时退出循环

当客户端刷新浏览器时,浏览器将拒绝刷新自身,并且无论如何都保持相同的状态。

我在这里做错什么了?

林田

我认为您正在寻找session_write_close();功能

<?php
session_start();//please make note of this.
require_once('connections/connections.php');

//NOW CLOSE THE SESSION RIGHT BEFORE ENTERING THIS FUNCTION LOOP
session_write_close();//this does the magic.

function loop_to_get_more_data(){
    global $con;

    $check=$con->query("SELECT numfriends FROM SUPERDATATABLE WHERE USERID=$_SESSION[USERID] AND numfriends>0");
    if(mysqli_num_rows($check)>0){
        //more code if any;
    }else{
        sleep(3);
        loop_to_get_more_data();
        return;//required to stop.
    }

}loop_to_get_more_data();

exit;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么调整浏览器/客户端图像的大小会带来如此大的性能影响?

来自分类Dev

通过套接字写入发送时,为什么客户端浏览器中没有显示图像?

来自分类Dev

Javascript for循环冻结了浏览器,没有语法错误

来自分类Dev

Javascript for循环冻结了浏览器,没有语法错误

来自分类Dev

Java Applet使用Chrome浏览器启动客户端程序的替代方法是什么?

来自分类Dev

检测客户端浏览器及其版本号的可靠方法是什么?

来自分类Dev

Windows中客户端计算机的默认浏览器是什么?

来自分类Dev

Firefox或Chrome浏览器的SOAP客户端扩展

来自分类Dev

Amazon SNS:通知浏览器客户端?

来自分类Dev

没有浏览器的Java Websocket客户端

来自分类Dev

过滤客户端证书(如浏览器)

来自分类Dev

从客户端Web浏览器与串行端口通信。

来自分类Dev

如何获取客户端的浏览器信息?

来自分类Dev

浏览器不应用客户端证书:403.7

来自分类Dev

在谷歌浏览器中获取客户端名称

来自分类Dev

浏览器不读取客户端证书

来自分类Dev

Meteorjs Foundation模态事件冻结了浏览器

来自分类Dev

Meteorjs Foundation模态事件冻结了浏览器

来自分类Dev

JavaScript功能冻结了我的浏览器

来自分类Dev

从node.js客户端到浏览器客户端的socket.emit

来自分类Dev

Java客户端和浏览器客户端之间的响应代码变化

来自分类Dev

支持浏览器客户端和本机客户端之间的交互

来自分类Dev

您能否解释 PKCE 的 oauth2 授权代码流如何工作以及为什么它为浏览器客户端提供更多安全性?

来自分类Dev

为什么服务器在关闭客户端连接时进入无限循环

来自分类Dev

有什么方法可以纯粹从浏览器客户端获得对此JSON feed的访问权吗?

来自分类Dev

为什么通过客户端上的XSLT在Google Chrome浏览器中无法正确显示换行(&#10;)字符?

来自分类Dev

Spring Security:按客户端类型(浏览器/非浏览器)启用/禁用CSRF

来自分类Dev

在浏览器上显示服务器时间而不是客户端时间

来自分类Dev

加快网站的多图像从客户端浏览器到服务器的上传

Related 相关文章

  1. 1

    为什么调整浏览器/客户端图像的大小会带来如此大的性能影响?

  2. 2

    通过套接字写入发送时,为什么客户端浏览器中没有显示图像?

  3. 3

    Javascript for循环冻结了浏览器,没有语法错误

  4. 4

    Javascript for循环冻结了浏览器,没有语法错误

  5. 5

    Java Applet使用Chrome浏览器启动客户端程序的替代方法是什么?

  6. 6

    检测客户端浏览器及其版本号的可靠方法是什么?

  7. 7

    Windows中客户端计算机的默认浏览器是什么?

  8. 8

    Firefox或Chrome浏览器的SOAP客户端扩展

  9. 9

    Amazon SNS:通知浏览器客户端?

  10. 10

    没有浏览器的Java Websocket客户端

  11. 11

    过滤客户端证书(如浏览器)

  12. 12

    从客户端Web浏览器与串行端口通信。

  13. 13

    如何获取客户端的浏览器信息?

  14. 14

    浏览器不应用客户端证书:403.7

  15. 15

    在谷歌浏览器中获取客户端名称

  16. 16

    浏览器不读取客户端证书

  17. 17

    Meteorjs Foundation模态事件冻结了浏览器

  18. 18

    Meteorjs Foundation模态事件冻结了浏览器

  19. 19

    JavaScript功能冻结了我的浏览器

  20. 20

    从node.js客户端到浏览器客户端的socket.emit

  21. 21

    Java客户端和浏览器客户端之间的响应代码变化

  22. 22

    支持浏览器客户端和本机客户端之间的交互

  23. 23

    您能否解释 PKCE 的 oauth2 授权代码流如何工作以及为什么它为浏览器客户端提供更多安全性?

  24. 24

    为什么服务器在关闭客户端连接时进入无限循环

  25. 25

    有什么方法可以纯粹从浏览器客户端获得对此JSON feed的访问权吗?

  26. 26

    为什么通过客户端上的XSLT在Google Chrome浏览器中无法正确显示换行(&#10;)字符?

  27. 27

    Spring Security:按客户端类型(浏览器/非浏览器)启用/禁用CSRF

  28. 28

    在浏览器上显示服务器时间而不是客户端时间

  29. 29

    加快网站的多图像从客户端浏览器到服务器的上传

热门标签

归档