我正在使用构造函数连接到数据库,并使用析构函数断开连接。我想知道的是:从构造函数调用this是否更有效?那么析构函数呢?使用准备好的语句连接到数据库是安全的还是好的编码?
如何创建插入方法?
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";
}
}
我要么在__construct中设置db登录数据,要么默认提供这些。如果不这样做,那么每次创建该类的实例时都必须输入登录数据…
public function __construct($host = 'localhost', $username = 'admin', $password = 'admin', $dbname = 'mydatabase' , $tablename="mytable")
您也可以将这些设置为类属性。概念是一样的。您还可以将SQL连接从类中分离出来,并在不同的类中进行连接,然后在构造函数中实例化该类。你可能想从这个答案中获得灵感。