mysql_close

(PHP 4, PHP 5)

mysql_close关闭 MySQL 连接

警告

此扩展在 PHP 5.5.0 中已弃用,并在 PHP 7.0.0 中被移除。应改用 MySQLiPDO_MySQL 扩展。另请参阅 MySQL:选择 API 指南。此函数的替代方法包括

说明

mysql_close(资源 $link_identifier = NULL): 布尔值

mysql_close() 关闭与指定链接标识符关联的到 MySQL 服务器的非持久连接。如果未指定 link_identifier,则使用最后打开的链接。

打开的非持久 MySQL 连接和结果集会在 PHP 脚本执行完毕时自动销毁。因此,虽然显式关闭打开的连接并释放结果集是可选的,但建议这样做。这将立即将资源返回给 PHP 和 MySQL,从而可以提高性能。有关相关信息,请参阅 释放资源

参数

link_identifier

MySQL 连接。如果未指定链接标识符,则假定为 mysql_connect() 最后打开的链接。如果未找到或建立连接,则会生成 E_WARNING 级别的错误。

返回值

成功时返回 true,失败时返回 false

示例

示例 #1 mysql_close() 示例

<?php
$link
= mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!
$link) {
die(
'无法连接:' . mysql_error());
}
echo
'连接成功';
mysql_close($link);
?>

上面的示例将输出

Connected successfully

注释

注意:

mysql_close() 不会关闭由 mysql_pconnect() 创建的持久链接。有关更多详细信息,请参阅有关 持久连接 的手册页。

参见

添加注释

用户贡献的注释 4 个注释

5
bbodelcampo at yahoo dot co dot uk
18 年前
关于多个同时连接到不同主机的简短说明...

我在一个网站上工作,该网站主要从一个数据库中提取内容,但使用另一个服务器上的数据库来验证许可证。人们可能会期望以下代码能正常工作

<?php
// 打开到主数据库的连接
$res1 = mysql_connect($host1, $user1, $pass1);
mysql_select_db($db1);

// 打开到许可证服务器的连接
$res2 = mysql_connect($host2, $user2, $pass2);
mysql_select_db($db2, $res2);

// 拉取许可证数据并在完成后关闭
mysql_query($check_sql, $res2);
// ...
mysql_close($res2);

// 现在从主数据库中提取内容
// 不指定资源应该默认为最后打开的数据库
mysql_query($query);
// ...
?>

事实证明,最后一个查询由于找不到活动连接,将尝试使用 mysql_connect() 无参数连接。但是,如果您改为使用 mysql_query($query, $res1),或者在另一种情况下,再次运行此主机的 mysql_connect,那么它就可以正常工作。因此,似乎无法在包含总体“全局”数据库连接的代码中穿插对另一个主机/数据库的临时连接....
-5
mdes[SPAM]saintes at gmail dot com
14 年前
我刚遇到与 Apache 相关的一个问题。

它崩溃并显示

"父进程:子进程以状态 3221225477 退出 - 重新启动。"

错误来自扩展 php_mysql.dll

我不明白是什么原因导致了崩溃..

然后,我调试了我下载的脚本,发现是 mysql_close() 函数导致了问题。

解决方案是,将链接标识符发送给它,这在说明中是可选的,但会导致崩溃且没有任何提示。

感谢 agneady。
-7
匿名
14 年前
至少在 PHP5.3.2 和 Windows 通过 tcp 连接的情况下,您应该始终使用此 mysql_close() 函数来关闭并释放 PHP 使用的 tcp 套接字。脚本执行后的垃圾回收不会自行关闭 tcp 套接字。否则,套接字将保持“等待”状态约 30 秒,任何额外的页面加载/连接尝试只会增加打开的 tcp 连接总数。此等待时间似乎无法通过 PHP 设置进行配置。
-9
omega99999 at gmail dot com
13 年前
在 5.3 中,该变量绝对不是可选的...这在调试时给我带来了一些麻烦,直到我意识到是关闭函数导致了挂起。因此,如果您只使用

<?php
mysql_connect
(<...>);

mysql_close();
?>

请使用

<?php
$connection
= mysql_connect(<...>);

mysql_close($connection);
?>

(其中 $connection 是您选择的任何变量)
To Top