我在db.php中有以下代码连接到我的数据库。
<?php
$DB_HOST = "localhost";
$DB_NAME = "db";
$DB_USER = "user";
$DB_PASSWORD = "pass";
$con = mysql_connect($DB_HOST, $DB_USER, $DB_PASSWORD);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db($DB_NAME , $con);
?>
在我的其他脚本中,我使用以下方法包含它:
include("db.php");
在某些情况下,我收到了ff错误:
[10-Mar-2012 10:47:20] PHP警告:mysql_connect()[function.mysql-connect]:用户db_user在/ home / user / public_html / sc /中已经有超过'max_user_connections'的活动连接第8行的db.php
现在,我想知道是否需要关闭连接,如:
<?php
include("db.php");
//other stuff here
mysql_close($con);
?>
BTW,我的MySQL配置中有100个max_connections值。
我还研究了持久连接,我相信上面的代码不是持久连接。
答案 0 :(得分:3)
不,如果您在脚本末尾关闭它,这将无济于事。如果您想在结束脚本之前释放资源,mysql_close()
非常有用,因为一旦脚本执行结束,您的连接就会关闭
答案 1 :(得分:-1)
如果您不关闭连接,它们将保持打开并占用服务器上的宝贵资源。我猜也有安全点,你不想冒险让别人抓住连接 我更喜欢将我的数据库放在一个类中,并使用__construct来创建连接,并使用__destruct来关闭连接。如果您不熟悉课程。创建和销毁类时会自动调用__construct和__destruct。
编辑:
最初的意思是一个例子。但我在这里有一个基本但有效的mysql类https://stackoverflow.com/a/9651249/1246494
它显示了mysql_close的用法以及我是如何尝试将它与类析构函数联系起来的。关键是,应该关闭任何网络连接,无论您的数据库是在远程服务器上还是在本地主机上。