共享主机提供程序通常允许同一用户进行少量同时连接。
您的代码的作用是:
- 打开与MySQL服务器的连接
- 做它的东西(生成页面)
- 在页面末尾关闭连接。
在页面末尾完成时,最后一步不是 必需的 :(引用
mysql_close手册):
通常不需要使用mysql_close(),因为在脚本执行结束时会自动关闭非持久性打开链接。
但是请注意,您可能永远不应该使用持久连接…
两个提示:
- 使用
mysql_connect
的欧洲工商管理学院mysql_pconnect
(已经为您确认) - 将mysql_connect的第四个参数设置为false (因为它是默认值,已经为您确定) :(引用手册):
如果使用相同的参数再次调用mysql_connect(),则不会建立新的链接,而是将返回已打开的链接的链接标识符。
new_link参数修改了此行为,并使mysql_connect()始终打开新链接,即使之前使用相同参数调用了mysql_connect()也不例外。
那么,什么原因会引起问题呢?
也许您正在尝试并行访问多个页面 (例如,使用浏览器中的多个选项卡) ,这将同时模拟多个使用该网站的用户?
如果您有许多用户同时使用该站点,并且
mysql_connect连接之间的代码以及关闭连接的过程都需要花费大量时间,则意味着同时打开多个连接…您将达到极限
:- (
不过,由于您是该应用程序的唯一用户,考虑到最多允许200个同时连接,所以发生了一些奇怪的事情…
好吧,考虑“ 连接过多 ”和
max_connections“ …”
如果我没有记错,
max_connections不限制连接数 ,你 可以打开MySQL服务器,但 连接的总数 ,可以开博到该服务器,
任何人连接到它 。
引用MySQL的文档说明连接过多:
如果在尝试连接到mysqld服务器时出现连接过多错误,则意味着所有可用连接正在被其他客户端使用。
允许的连接数由max_connections系统变量控制。其默认值为100。如果需要支持更多连接,则应为此变量设置一个较大的值。
因此,实际上,问题可能并非出自您,也不是您的代码 (实际上看起来还不错) :它可能“只是”是您不是唯一尝试连接该MySQL服务器的人
(请记住,“共享主机”) ,并且有太多人同时使用它…
… 如果我是对的
,那么您无能为力,无法解决问题:只要该服务器上的数据库/用户过多并且
max_connection设置为200,您将继续遭受痛苦…
作为旁注:在回到GoDaddy询问他们之前,如果有人可以验证我刚才说的话^^



