これはPDO永続的な接続を介してMySQLを接続するために、私のデータベースクラスである:永続的なPDO接続が各要求に対して新しい接続を行うのはなぜですか?
class database{
private $_db;
public function conn()
{
$user = 'xxx';
$pass = 'xxxxxxx';
try
{
$this->_db = new PDO('mysql:dbname=x;host=x.x.x.x',$user,$pass,array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',PDO::ATTR_PERSISTENT => true));
$this->_db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$this->_db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
return $this->_db;
}
catch(PDOException $e)
{
return "-1";
}
}
}
私は、データベースを照会するために別の関数で、このクラスを呼び出します。関数を呼び出すたびに、新しい接続がデータベースに作成されます。永続的なpdo接続が要求ごとに新しい接続を行う理由
$ db = new database(); $ db-> conn();新しいオブジェクトを作成し、毎回新しい接続を定義します – MacBooc
'conn()'メソッドは、新しい '$ _db'を作成する前にプライベート' $ _db'がnullかどうかをチェックしませんデータベースへの接続。 – WillardSolutions