如何在php中使用两个不同的函数打开和关闭数据库连接?

时间:2016-07-14 10:25:13

标签: php mysqli

我想创建一个首先调用数据库连接的函数。完成后,我将使用连接变量进行查询,然后使用其他函数关闭它。

如何通过制作两个不同的功能来建立这个功能?我应该创建全局变量吗?

建立连接

 function setcon(){
$conn= new mysqli($server,$username,$pass,$db);
 if ($conn->connect_error) { die($conn->connect_error);}}

销毁连接

  function endcon(){
  $conn->close();}

我需要在查询中使用连接变量($ conn),那么我应该将它用作全局变量吗?

2 个答案:

答案 0 :(得分:0)

拥有全局变量并不是一种好习惯。

这取决于您的项目范围和体系结构,但我建议将数据库连接作为connect函数的返回值(在您的情况下为setcon)。每个使用数据库的函数都需要作为参数传递连接变量。

对于更复杂的项目,您可以采用面向对象的方式,并构建一个数据库连接对象,同时注意所有常见的检查和错误处理。如果您计划在某个时刻切换到其他数据库,则建议使用此方法。

答案 1 :(得分:-2)

试试这个:

function connect($server, $username, $pass, $db)
{
    closeConnect();

    $dbName = $db;
    $dc = mysqli_connect($server, $username, $pass);
    if ( ! $dc) {
        echo "Connection to $dbName failed!";
    }
    mysqli_select_db($dbName, $dc);
}

function closeConnect()
{
    global $dc;
    if ($dc)
        @mysqli_close($dc);
    $dc = null;
}

希望它对你有所帮助!