一个mysqli连接用于多个数据库函数

9jyewag0  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(420)

我的主页调用了许多存储在db.php文件中的数据库函数。在每一个数据库中,我都使用

$connect = mysqli_connect(SERVER_NAME,SERVER_USER,SERVER_PASS,SERVER_DB);

经过一些询问,我用

mysqli_close($connect);

到目前为止没问题。但是我想知道有没有什么方法可以让代码更快,只在主代码中,在所有db函数调用的顶部执行一次连接?然后关闭主代码底部的连接?
换句话说,如何访问函数外部的变量(这里是$connect),而不必将其作为参数传递给某个函数?
我尝试将$connect声明为全局或静态,但没有一个有效。

uklbhaso

uklbhaso1#

尝试在函数中设置连接,并在需要时调用它。
创建db.php;

function connect(){
    $conn = @mysqli_connect(SERVER_NAME,SERVER_USER,SERVER_PASS);
    mysqli_select_db($conn, SERVER_DB);
    return $conn;
}
function close_connect($conn){
    mysqli_close($conn);
}

用途:

require_once "db.php";
$conn = connect();
// excute query
close_connect($conn);
7ajki6be

7ajki6be2#

你可以这样做

<?php

$conn=xxx;

function abc() {

global $conn->.....;
} 

$conn=null;

这不是最好的方法。您应该看看带有单例模式的oop实践。

相关问题