我的主页调用了许多存储在db.php文件中的数据库函数。在其中的每一个中,我都使用以下命令连接到MySQL数据库
$connect = mysqli_connect(SERVER_NAME,SERVER_USER,SERVER_PASS,SERVER_DB);
然后在一些查询之后,我将用以下语句结束
mysqli_close($connect);
到目前为止没有问题。但我想知道,有没有什么方法可以让代码更快,只在主代码中执行一次连接,在所有DB函数调用的顶部?然后关闭主代码底部的连接?
换句话说,如何访问函数外部的变量(这里是$connect),而不必将其作为参数传递给某个函数?
我尝试将$connect声明为全局或静态,但都不起作用。
发布于 2018-06-15 06:40:10
尝试在函数中设置连接,并在需要时调用它。
创建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);
发布于 2018-06-15 08:51:19
你可以这样做
<?php
$conn=xxx;
function abc() {
global $conn->.....;
}
$conn=null;
这不是最好的方法。你应该看看单例模式的OOP实践。
https://stackoverflow.com/questions/50866690
复制相似问题