Php 关闭另一个文件中的mysqli连接

Php 关闭另一个文件中的mysqli连接,php,mysql,mysqli,Php,Mysql,Mysqli,假设我有两个php文件 在第一个示例中,我与数据库建立了连接。因为我在另一个php文件中需要它,所以我将它分配给一个全局变量,如下所示。 setconnection.php <?php $servername = 'localhost'; $username = 'root'; $password = ''; $dbname = 'database'; // Create connection $GLOBALS['connect'] = new mysqli($servername, $

假设我有两个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');
?>
include_once "setconnection.php";
$GLOBALS['connect']->close();

好问题!我从来没有在例子中看到过。关闭连接只会节省内存资源。无论如何,Php都应该在脚本执行后关闭非持久性连接。然而,情况并非总是如此。当遗留代码持续忽略关闭连接时,我的服务器CPU过载。 到目前为止,我们为几个函数保留一个连接,这本质上与您正在做的事情相同。这对我们很有用


参考资料:

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

这是完全合法的,正如on所说

。。。请记住,
include()
只是将代码插入当前运行的脚本中

假设您有一个名为example.php的文件:

function example() {
    echo 'Hello, world!';
}
include 'example.php';
example();
然后将其包含在index.php中:

function example() {
    echo 'Hello, world!';
}
include 'example.php';
example();
这与将所有内容都放在一个文件中相同:

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

example();

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

我的问题是,我在setconnection.php中定义了一个函数,如果我在该文件的末尾关闭连接,我不能在其他php文件中调用该函数…@Daniel那么不要关闭它吗?@YourCommonSense我知道php最终会关闭连接。但是我在这里找到了一些建议,上面说如果你不自己关闭连接,可能会导致CPU过度使用。@Daniel不要听他们的,我希望没有人会遵循你的想法。我对PHP不是很有经验,但是,为什么不呢?因为连接应该打开一次。