【发布时间】:2013-04-12 00:04:33
【问题描述】:
我正在使用名为 getfreehosting.co.uk 的免费网络托管服务。 max_user_connections 是 5。每次我的页面加载时,它所做的第一件事就是调用从我的数据库中获取条目的 load.php。我的问题是,如果我重新加载或刷新页面太多次,我会收到以下错误:
警告:mysql_connect() [function.mysql-connect]:用户 getfh_11654008 已经有超过 'max_user_connections' 的活动连接 /home/vol9/getfreehosting.co.uk/getfh_11654008/htdocs/experiment/load.php 在第 3 行无法连接:用户 getfh_11654008 已经有超过 'max_user_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");
}
?>
出了什么问题,我该怎么办?
【问题讨论】:
-
也许您可以尝试使用 PDO 或 mysqli 的持久连接。
-
mysql_* 已弃用。请改用 PDO 或 mysqli。