私は、データベースのクエリや準備文などの大部分を扱う次のクラスを持っています。以下は、私が持っているクラスのサンプルです。私のクラスで私のDB接続を閉じるべきとき
ペソ(database.phpで)私は、データベースへの私の接続を閉じて行くべきか
class Database{
public $mysqli;
function __construct(){
// Open the connection to the DB on construct
$this->open_connection();
}
private function open_connection(){
$this->mysqli = new mysqli(DB_SERVER, DB_USER, DB_PASS, DB_NAME);
if(mysqli_connect_errno()){
die("Database connection failed: " . mysqli_connect_error() . " (" . mysqli_connect_errno() . ") ");
}
}
/*
* Creates a user
*/
public function create_user($username, $password){
$stmt = $this->mysqli->prepare("INSERT INTO Users(username,password,dateCreated) VALUES(?,?,NOW())");
$password = $this->hash_password($password);
$stmt->bind_param("ss", $username, $password);
if(!$stmt->execute()) :
$error = "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
endif;
$stmt->close();
return $error;
}
// ....
}
$db = new Database();
私はそのクラス私は、そのファイルを必要としています、ページの読み込みのたびにインスタンス化していますので、?私はそれを開いたままにすることはできますか?
しかし、これは良いスタイルではありません。リソースが無駄になる – Psi
とにかく接続を閉じることをお勧めします。 :) – Asperitas
申し訳ありません、私はちょうど読んで: "あなたは開いておくことができますので..."。 – Psi