Php 在all项目中只有一个mysql连接
我想知道是否有一种方法可以让我始终打开一个连接到数据库中。 我在我的网站中使用以下代码: mysql类Php 在all项目中只有一个mysql连接,php,mysql,Php,Mysql,我想知道是否有一种方法可以让我始终打开一个连接到数据库中。 我在我的网站中使用以下代码: mysql类 class Mysql{ public static $Server = "localhost"; static $User = 'root'; static $Password = ''; static $DataBaseName = 'teca.v1'; static $Connection; static $DataBase; static $LoadConnection = 0;
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';
}
但是我不知道这是不是正确的,只是这段代码为我的项目中的所有对象创建了一个连接?您正在寻找的是一个PHP单例数据库类。使用下面的链接获得想法。我想我不必在这里重复所有的内容
您正在寻找的是PHP单例数据库类。使用下面的链接获得想法。我想我不必在这里重复所有的内容
你的设计没有多大意义。您应该为
MySQL
和Model
创建单独的类。MySQL
类应该实例化一次,并在整个脚本中使用。所以它应该只建立一个连接。
然后让
模型
使用MySQL
类的实例对数据进行操作。您的设计没有多大意义。您应该为MySQL
和Model
创建单独的类。MySQL
类应该实例化一次,并在整个脚本中使用。所以它应该只建立一个连接。
然后让
Model
使用MySQL
类的实例对数据进行操作。是的,我的对象都继承自Model类和mysqlYes的模型,因此它调用其构造函数方法并创建MySQL连接。。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果选择PDO,.yes,我的对象都是从model类继承的,而model是从mysqlYes继承的,因此它调用其构造函数方法并创建mysql连接。。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果你选择PDO,。单身不是一个很好的主意。他们倾向于将代码与单例代码紧密地结合在一起,随着时间的推移,单例代码很难维护。他们倾向于将代码与单例紧密耦合,随着时间的推移,维护起来会更加困难。