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;
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 个连接?

最佳答案

您正在寻找 PHP Singleton 数据库类。使用下面的链接来了解这个想法。我想我不必在这里重复所有内容。

http://www.matthewelliston.com/php-singleton-database-class/

Global or Singleton for database connection?

Creating the Singleton design pattern in PHP5

关于php - 所有项目中只有一个 mysql 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15402040/

相关文章:

mysql - 这个十进制的列的列和长度应该是多少

php - 如何公开上传到 Amazon s3 的文件

php - 在 HTML SELECT 中列出类别和子类别

mysql - SQL - 内部连接和列到行

mysql - 与 Count 合并或与 Sum 合并 - MySQL

mysql - 我有两列需要大规模编辑。 mysql更新语句

sql - 如何在Mysql4.x中实现 "contains"函数?

php - 无法从数据库中选择列,常量已定义

php - 在 android studio 中使用时注册 php 不工作

javascript - 使用 Ajax 将二维数组从 Php 发送到 Javascript