gpt4 book ai didi

php - 如何防止在多次重新加载/刷新页面时超过 max_user_connections?

转载 作者:太空宇宙 更新时间:2023-11-03 12:29:56 25 4
gpt4 key购买 nike

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

Warning: mysql_connect() [function.mysql-connect]: User getfh_11654008 already has more than 'max_user_connections' active connections in /home/vol9/getfreehosting.co.uk/getfh_11654008/htdocs/experiment/load.php on line 3 Could not connect: User getfh_11654008 already has more than 'max_user_connections' active connections

我知道我使用的是免费网络主机,所以我可能无法增加 max_user_connections。无论如何我都不必这样做,因为我只需要在任何给定时间运行我的页面的一个实例,所以理论上 max_user_connections = 5 对我的目的来说已经足够了。起初我认为问题一定是我的 load.php 被调用了太多次,导致太多的 sql_connections 没有关闭。但是,我在适当的地方调用了 sql_close(),但仍然设法超过了 max_user_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");
}
?>

出了什么问题,我该怎么办?

最佳答案


回答:

您可以研究两件事:

  1. mysql_close() - 可能是系统正在等待几秒钟以关闭连接,因为您没有告诉它这样做。 (即:计算机不会立即关门,直到您告诉它或直到一切都说完了)。

$connection = mysql_connect();mysql_close($connection);

确保在连接时使用变量...

  1. 你可以试试 php 的 mysql 持久连接。本质上是一个与数据库的永久连接……它并不理想,但它也可以工作。它的语法实际上与 mysql_connect() 相同:

$connection = mysql_pconnect("localhost","mysql_user","mysql_pwd");


中学:

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


咆哮:

我不明白为什么这里的人坚持告诉别人使用 PDO,却无助于解决问题......人们将使用他们想要的任何东西,直到他们学会更好的方法。击败 PDO 这匹马不会让人们更快地采用它......

关于php - 如何防止在多次重新加载/刷新页面时超过 max_user_connections?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15960954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com