我正在学习 php 和 Mysql 数据库。一切都很好。但是下面的代码让我感到困惑:
if(isset($connection)){
mysql_close($connection);
unset($connection);
}
据我所知 mysql_close() 函数负责关闭连接。那么为什么这里使用了额外的 unset() 函数呢?请解释一下。提前致谢。
mysql_close($connection)关闭与 $connection 关联的 MySQL 服务器的非持久连接。如果未指定 $connection,则使用最后打开的链接。
-此功能已弃用,请使用 PDO 或 mysqli。
unset($connection)清除指向 php 端结果的指针,但不对它指向的结果做任何事情。
附加功能unset()
将允许垃圾收集清除已关闭$connection
变量占用的内存,而且(很可能)您的应用程序代码if (isset(...))
也会对该变量执行更多条件。
unset($connection)
只会使 var$connection
等于NULL
. 如果你没有做unset
,那么 var$connection
仍然会指向一个 MySQL 链接标识符,在mysql_close()
. 这有点迂腐;不管你是否unset
,$connection
var 在mysql_close()
.