Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.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 如何防止在多次重新加载/刷新页面时超过最大用户连接数?_Php_Mysql - Fatal编程技术网

Php 如何防止在多次重新加载/刷新页面时超过最大用户连接数?

Php 如何防止在多次重新加载/刷新页面时超过最大用户连接数?,php,mysql,Php,Mysql,我正在使用一个名为getfreehosting.co.uk的免费网络托管服务。最大用户连接数为5。每次我的页面加载时,它做的第一件事就是调用一个load.php,从我的数据库中获取一个条目。我的问题是,如果重新加载或刷新页面的次数过多,则会出现以下错误: 警告:mysql_connect()[function.mysql connect]:用户getfh_11654008 中已存在多个“最大用户连接”活动连接 /home/vol9/getfreehosting.co.uk/getfh_11654

我正在使用一个名为getfreehosting.co.uk的免费网络托管服务。
最大用户连接数为5。每次我的页面加载时,它做的第一件事就是调用一个
load.php
,从我的数据库中获取一个条目。我的问题是,如果重新加载或刷新页面的次数过多,则会出现以下错误:

警告:mysql_connect()[function.mysql connect]:用户getfh_11654008 中已存在多个“最大用户连接”活动连接 /home/vol9/getfreehosting.co.uk/getfh_11654008/htdocs/experience/load.php 在线3无法连接:用户getfh_11654008已经有超过 “最大用户连接数”活动连接数

我知道我使用的是免费的网络主机,所以我可能无法增加
max\u user\u connections
。无论如何我都不必这样做,因为我只需要在任何给定的时间运行一个页面实例,因此理论上
max\u user\u connections=5
就足够了。起初我认为问题一定是我的
load.php
被调用太多次,导致太多的
sql\u连接未关闭。但是,我在适当的位置调用了
sql\u close()
,但仍然设法超过了
max\u user\u connections

这是我的
load.php

<?php
    $link = mysql_connect(MYSQL_HOSTNAME, MY_USERNAME, MY_PASSWORD);
    if (!$link) {
        die('Could not connect: ' . mysql_error());
    }
    mysql_select_db(MY_DB, $link);

    $result = mysql_query(SELECT ONE ENTRY);
    if($r = mysql_fetch_assoc($result)) {
        print json_encode($r); // convert data to json and return it
        mysql_close($link);
    }
    else {
        mysql_close($link);
        die("Error: something went wrong");
    }
?>

怎么了?我该怎么办?


答复: 你可以研究两件事:

  • mysql_close()-可能是因为您没有告诉系统,系统正在等待几秒钟来关闭连接。(也就是说,在你告诉电脑之前,或者在一切都说了、做了之后,电脑才会马上关门。)
  • $connection=mysql_connect(); mysql_close($connection)

    请确保在连接时使用变量

  • 您可以尝试php的mysql持久连接。本质上是一个到数据库的永久连接。。。这并不理想,但也可以奏效。它的语法实际上与mysql_connect()相同:
  • $connection=mysql\u pconnect(“本地主机”、“mysql\u用户”、“mysql\u pwd”)


    中学: 如果您感兴趣,我可以为您提供一个更好的php/mysql开发环境(免费,没有任何义务)。。。100%是你的选择,只是想帮你


    咆哮: 我不明白为什么这里的人坚持告诉其他人使用PDO,但不帮助解决问题。。。人们想用什么就用什么,直到他们学会了更好的方法。击败PDO并不能让人们更快地接受它……


    答复: 你可以研究两件事:

  • mysql_close()-可能是因为您没有告诉系统,系统正在等待几秒钟来关闭连接。(也就是说,在你告诉电脑之前,或者在一切都说了、做了之后,电脑才会马上关门。)
  • $connection=mysql_connect(); mysql_close($connection)

    请确保在连接时使用变量

  • 您可以尝试php的mysql持久连接。本质上是一个到数据库的永久连接。。。这并不理想,但也可以奏效。它的语法实际上与mysql_connect()相同:
  • $connection=mysql\u pconnect(“本地主机”、“mysql\u用户”、“mysql\u pwd”)


    中学: 如果您感兴趣,我可以为您提供一个更好的php/mysql开发环境(免费,没有任何义务)。。。100%是你的选择,只是想帮你


    咆哮:
    我不明白为什么这里的人坚持告诉其他人使用PDO,但不帮助解决问题。。。人们想用什么就用什么,直到他们学会了更好的方法。击败PDO不会让人们更快地采用它……

    也许你可以尝试使用PDO或mysqli的持久连接。mysql_*已被弃用。请改用PDO或mysqli。也许您可以尝试使用PDO或mysqli的持久连接。mysql_*已被弃用。改用PDO或mysqli。