2

コンストラクタを使用してデータベースに接続し、デストラクタで切断しています。私が知りたいのは、コンストラクターからこれを呼び出すとより効率的ですか? デストラクタはどうですか?準備されたステートメントを使用してデータベースに接続するのは安全ですか、それとも適切なコーディングですか?

挿入用のメソッドを作成するにはどうすればよいですか?

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";
    } 
}
4

1 に答える 1

1

__construct 内に db ログイン データを設定するか、デフォルトでこれらを指定します。そうしないと、そのクラスのインスタンスを作成するたびにログインデータを入力する必要があります...

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

これらをクラス プロパティとして設定することもできます。コンセプトは同じだけど。また、SQL 接続をクラスから分離して別のクラスに接続し、コンストラクター内からそのクラスをインスタンス化することもできます。この回答からインスピレーションを得たいと思うかもしれません。

于 2013-06-07T17:23:42.183 に答える