关闭另一个文件

时间:2017-02-17 14:34:29

标签: php mysql mysqli

假设我有2个php文件
在第一个我有数据库的连接。因为我在另一个php文件中需要它,所以我将它分配给这样的全局变量。

setconnection.php

<?php
$servername = 'localhost';
$username = 'root';
$password = '';
$dbname = 'database';

// Create connection
$GLOBALS['connect'] = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($GLOBALS['connect']->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
$db_selected=mysqli_select_db($GLOBALS['connect'],'database');
mysqli_set_charset($GLOBALS['connect'],'utf8');
?>

然后我有另一个php文件,其中我使用上面php文件中的连接 像这样关闭连接是正确的吗?

的index.php

include_once "setconnection.php";
$GLOBALS['connect']->close();

3 个答案:

答案 0 :(得分:0)

好问题!我从未在示例中的任何地方看到它。关闭连接只会节省内存资源。无论如何,Php应该在脚本执行后关闭非持久连接。但是,情况可能并非总是如此。当遗留代码持续忽略关闭连接时,我有服务器CPU重载。 截至目前,我们为多个功能保留了一个连接,这实际上与您正在做的事情是一样的。适合我们。

参考:http://php.net/manual/en/mysqli.close.php

答案 1 :(得分:-1)

在我看来,这是合法的。在关闭连接之前,不要忘记检查连接是否真正打开或已经关闭。

答案 2 :(得分:-1)

这是完全合法的,正如Pekka Are PHP include paths relative to the file or the calling code?所说,

  

...请记住include()只是将代码插入当前正在运行的脚本

所以,我们假设您有一个名为 example.php 的文件:

function example() {
    echo 'Hello, world!';
}

并将其包含在 index.php

include 'example.php';
example();

这与在一个文件中包含所有内容相同:

function example() {
    echo 'Hello, world!';
}

example();

因此,关闭另一个文件中的连接并没有任何错误,这个文件不是您打开连接的文件。