构造函数;用于连接DB(MYSQL)的析构函数?

时间:2013-06-07 17:07:43

标签: php oop constructor insert mysqli

我使用构造函数连接到数据库并断开与析构函数的连接。我想知道的是:当我从构造函数中调用它时它是否更有效?析构函数怎么样?使用预准备语句连接到数据库是安全还是良好的编码?

如何创建插入方法?

public function __construct($host, $username, $password, $dbname, $tablename="")
        {
            $this->host = $host;
            $this->username = $username;
            $this->password = $password;
            $this->dbname = $dbname;
            $this->tablename = $tablename;
            $this->con = mysqli_connect($host, $username, $password, $dbname); //connecting...

 if(mysqli_connect_errno($this->con))
    {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    else
    {
    echo "Connection Established<br>";
    } 
}
public function __destruct()
{
    if(mysqli_close($this->con))
    {
        echo "<br>Connection Terminated";
    } 
}

1 个答案:

答案 0 :(得分:1)

我要在__construct中设置db登录数据,或者默认提供这些数据。如果不这样做,则每次创建该类的实例时都必须输入登录数据...

public function __construct($host = 'localhost', $username = 'admin', $password = 'admin', $dbname = 'mydatabase' , $tablename="mytable")

您也可以将它们设置为类属性。但这个概念是一样的。您还可以将类与SQL的SQL连接分开,并在另一个类中进行连接,并在构造函数中实例化该类。您可能希望从this answer获得灵感。