Я хочу знать, есть ли способ, которым всегда есть одно открытое соединение в моей базе данных. я использую эти коды в моих сайтах:только одно соединение mysql во всем проекте
MySQL класс
class Mysql{
public static $Server = "localhost";
static $User = 'root';
static $Password = '';
static $DataBaseName = 'teca.v1';
static $Connection;
static $DataBase;
static $LoadConnection = 0;
static $CharSet = "utf8";
static $TRANS =false;
static $TRSS = array();
public function __construct(){
if(Mysql::$LoadConnection==0){
Mysql::$Connection = mysql_connect(Mysql::$Server,Mysql::$User,Mysql::$Password);
Mysql::$DataBase = mysql_select_db(Mysql::$DataBaseName,Mysql::$Connection);
$charset=Mysql::$CharSet;
mysql_query("SET NAMES $charset");
Mysql::$LoadConnection=1;
}
}
}
модель класса
class Model extends Mysql{
protected $datamembers = array();
protected $PrimaryKey="Id";
protected $TableName ="Table";
public $UnProtectedExecute = FALSE;
public function ReadyString($value)
{
if($this->UnProtectedExecute == TRUE)
return addslashes($value);
else
return $value;
}
public function __set($variable, $value){
$this->datamembers[strtolower($variable)] = $value;
}
public function __get($variable){
return $this->datamembers[strtolower($variable)];
}
и один из моих объектов:
class LibraryFiles extends Model{
public $TableName = 'library_files';
}
, но я не знаю, это право, и именно этот код создает 1 соединение для всего объекта в моем проекте?
Его наследование .... –
Да, мои объекты все наследуются от класса модели и модели от mysql –
Да и из-за этого он вызывает свой метод-конструктор и создает соединение mysql. –