所以我一直在編程一段時間,並決定了解OOP。我爲這個數據庫連接創建了這個類,但我不確定這是浪費代碼還是做事的好方法。我仍然不覺得我很瞭解OOP,但我會到達那裏,這只是練習。我想我的目標確實是儘可能多地將數據庫連接保留爲私有的,並且讓這個類可以像mysqli_close()那樣執行所有的清理操作。這是一個安全的OO php數據庫連接或浪費代碼
class db {
private $db_user;
private $db_pass;
private $db_host;
private $db_name;
private $link;
private $db_error;
public function escape($string) {
return mysqli_real_escape_string($this->link, $string);
}
public function query($query) {
return = mysqli_query($this->link, $query);
}
function __construct() {
$this->db_error = 'Database Error';
$this->db_user = 'root';
$this->db_pass = '';
$this->db_host = 'localhost';
$this->db_name = 'test';
$this->link = mysqli_connect($this->db_host, $this->db_user, $this->db_pass) or die($this->db_error);
mysqli_select_db($this->link, $this->db_name) or die($this->db_error);
}
function __destruct() {
mysqli_close($this->link);
}
}
編輯: 謝謝你,我要學習PDO的答案。
'mysqli_free($ result);''在** return語句之後''將永遠不會運行。 – Aiias
停止包裝原生擴展。另請注意'mysqli_free($ result);'永遠不會執行。 –
爲什麼不使用本地mysqli OOP接口? –