我的主页调用许多数据库函数,存储在db.php文件中。在每个中,我使用
连接到MySQL数据库$connect = mysqli_connect(SERVER_NAME,SERVER_USER,SERVER_PASS,SERVER_DB);
然后经过一些查询后,我用
关闭它mysqli_close($connect);
到目前为止没问题。但我想知道有没有办法让代码更快,通过在主代码中执行连接一次,在所有数据库函数调用之上?然后关闭主代码底部的连接?
换句话说,如何访问函数外部的变量(此处为 $ connect ),而不必将其作为参数传递给某个函数?
我尝试将 $ connect 声明为全局或静态,但这些都没有效果。
答案 0 :(得分:0)
尝试在功能中设置连接,并在需要时调用它。
创建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);
答案 1 :(得分:0)
你可以做这样的事情
<?php
$conn=xxx;
function abc() {
global $conn->.....;
}
$conn=null;
这不是最好的方法。你应该看一下单例模式的OOP实践。