私はちょうどoopを始めました。そして今、非常に簡単なことさえ私に混乱しているようです! これはmysqliの接続のための私のクラスである:dbクラスと複数のmysqli接続を避ける
$a=mysqli_real_escape_string($_POST['a']);
$b=mysqli_real_escape_string($_POST['b']);
$query='SELECT `name` FROM `someTable` WHERE `type`={'.$a.'}';
$query2='SELECT `name` FROM `someTable` WHERE `type`={'.$b.'}';
$DB = NEW DB;
$test=$DB->query($query);
$DB2 = NEW DB;
$test2=$DB2->query($query2);
私はちょうどクラスDBから2つのオブジェクトを作成しました:
class DB{
private $con;
public function __construct(){
$this->con=new mysqli('localhost','root','','dbName');
if(!$this->con){
echo '<b>There was a problem connecting to database! </b><br />errno: '.$con->connect_errno;
exit;
}
$this->con->set_charset("utf8");
}
public function query($query){
return $this->con->query($query);
}
}
はのは、私はこのようなつもりの使用だとしましょう。 オブジェクトごとに新しいmysql接続があることを意味しますか?はいの場合、どうすればそれを避けることができますか?
私は__destruct()関数でmysqli_close()を使うことができますが、いくつかのmysql接続を作成して破壊するのは良いとは限りません。
どうすればよいですか? p.s:私がoop(とmysqliも同様)で新しいと言ったのと同じように、私のクラスについてのコメントがあれば(例えば、私は正しい場所で文字セットを設定しましたか?)、私は賞賛されるでしょう。
- してください.... '' '今日は2017年です.... OOPタグで変数を使用してglobal'''! – pomaxa
@pomaxaそうです。インスタンスのグローバル変数を使用するのは良い方法ではありません。実際に使用する前に作成したインスタンスを実際に使用したい場合は、その例です。 – ICE
- 私はちょうど同様の質問へのリンクを残す:http://stackoverflow.com/a/219599/164803 – pomaxa