我需要使用mysql_close(连接)吗?
问题描述:
我在db.php中有以下代码来连接到我的数据库。我需要使用mysql_close(连接)吗?
<?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十时47分20秒] PHP的警告:mysql_connect()函数[function.mysql-连接]:用户已经DB_USER具有比 'MAX_USER_CONNECTIONS' 在/home/user/public_html/sc/db.php第8行
活动连接更现在,我想知道如果我需要关闭连接重刑如:
<?php
include("db.php");
//other stuff here
mysql_close($con);
?>
顺便说一句,我有我的MySQL配置100 max_connections值。
我也研究有关持久连接,我相信我上面的代码不是一个持久连接。
答
不,如果您在脚本结尾处关闭它,这不会对您有所帮助。 mysql_close()
仅用于在结束脚本之前释放资源,因为只要脚本执行结束,连接就会关闭
答
如果您不关闭连接,它们将保持打开状态并占用服务器上的宝贵资源。我猜那里也存在安全问题,你不想冒险让某人获得联系。
我更喜欢将我的数据库放在一个类中,并使用__construct创建连接,并使用__destruct关闭连接。如果你不熟悉类。创建和销毁类时,会自动调用__construct和__destruct。
编辑:
最初本来就是一个例子。但我在这里有一个基本的但是工作的mysql类https://*.com/a/9651249/1246494。
它显示了mysql_close的用法以及我如何将它与类的析构函数关联起来。问题是,任何网络连接都应该关闭,不管你的数据库是在远程服务器上还是在本地主机上。
始终释放您不再需要的资源。 – 2012-03-10 23:19:32
O_O ------------------------> – 2012-03-10 23:40:40
看看屏幕的右侧。在完全相同的主题上列出了十几个问题 – 2012-03-10 23:41:37