我在PHP
发现了新的事情并且我正在尝试执行这项简单任务:从MySql
数据库获取数据。
我创建了一个单例类来与数据库进行通信:
class Database {
private static $db = null;
private $servername;
private $username;
private $password;
private $connection;
private function Database(){
$this->servername = "localhost";
$this->username = "user";
$this->password = "123456";
}
public static function get_database(){
if(!static::$db){
static::$db = new Database();
}
return static::$db;
}
function start_connection(){
$this->connection = new mysqli($this->servername,
$this->username,
$this->password);
}
function execute_query($query){
$this->start_connection();
[...]
$this->disconnect();
}
function disconnect(){
$this->connection->close();
}
[...]
}
这段代码运作得很完美,但有一件事让我感到烦恼。每次拨打new mysqli()
时,我都想知道是否真的需要创建新的连接对象start_connection()
。有什么像reconnect
?
答案 0 :(得分:0)
您可以在Database类中存储mysqli实例,并在"私有函数数据库"中声明它。功能(如果你愿意,可以通过调用$ this-> start_connection())
如果您愿意,也可以提供静态功能来关闭连接。