php mysql 单例_php操作 mysql 单例模式

* author zcs

* version 2.1*/

class mysql{var $max_cache_time = 86400; //最大的缓存时间,以秒为单位,默认24h

var $cache_dir = '/cache/';var $_dbhash = '';var $setting = array();var $dblink = NULL;var $trans_depth = 0; //事务开启记录

var $query = null; //查询句柄

var $query_str = ''; //记录最后一次查询的语句

static private $_instance = NULL; //储存对象

var $mysql_disable_cache_tables = array(); //不允许被缓存的表,遇到将不会进行缓存

//$dbhost = 'localhost', $dbuser = 'root', $dbpwd = '', $dbname = 'test', $dbcharset = 'utf8', $pconnect = 0

//私有化构造函数

private function__construct(){$num_args=func_num_args();if($num_args > 0){$this->setting = func_get_args();$this->_initialize();

}

}//防止被克隆

private function__clone(){}//初始化函數

private function_initialize()

{try{if($this->setting[5]){if(!($this->dblink = @mysql_pconnect($this->setting[0], $this->setting[1], $this->setting[2]))){throw new Exception($this->error_message('鏈接數據庫失敗'));

}

}else{if(!($this->dblink = @mysql_connect($this->setting[0], $this->setting[1], $this->setting[2]))){throw new Exception($this->error_message('鏈接數據庫失敗'));

}

}if($this->select_db($this->setting[3], $this->dblink) === false) {throw new Exception($this->error_message());

}//$this->cache_dir = ROOT_PATH. $this->cache_dir;

//$this->_dbhash = md5(ROOT_PATH . $this->setting[0] . $this->setting[1] . $this->setting[2] . $this->setting[3]);

mysql_query("SET NAMES '".$this->setting[4]."'");

}catch(Exception $e){echo $e->getMessage();

}

}public static function connect($dbhost = 'localhost', $dbuser = 'root', $dbpwd = '', $dbname = '', $dbcharset = 'utf8', $pconnect = 0)

{if(false == (self::$_instanceinstanceof self)){

self::$_instance = new self($dbhost, $dbuser, $dbpwd, $dbname, $dbcharset, $pconnect);

}return self::$_instance;

}/**

* 插入数据

*

* @access public

* @param string $table

* @param array $field_values array('field'=>values)

* @return mixed*/

public function insert($table, $field_values, $escape = false, $replace = false) {$fields = array();$values = array();$field_names = $this->get_column('DESC '.$table);if(is_array($field_values)){foreach ( $f

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<?php defined('ACC')||exit('Access Denied'); // 封装mysql操作类,包括连接功能,及查询功能. class mysql extends absdb{   protected static $ins = null;   protected $host;  // 主机名   protected $user;  // 用户名   protected $passwd; // 密码   protected $db;      // 数据库名   protected $port;    // 端口   protected $conn = null;   // 在内部操作,获得一个对象   public static function getIns() {     if(self::$ins === null) {       self::$ins = new self();     }     $conf = conf::getIns();     self::$ins->host = $conf->host;     self::$ins->user = $conf->user;     self::$ins->passwd = $conf->pwd;     self::$ins->db = $conf->db;     self::$ins->port = $conf->port;     self::$ins->connect();     self::$ins->select_db();     self::$ins->setChar();     return self::$ins;   }   // 不让外部做new操作,   protected function __construct() {   }   // 连接数据库   public function connect() {     $this->conn = @mysql_connect($this->host,$this->user,$this->passwd,$this->port);     if(!$this->conn) {       $error = new Exception('数据库连不上',9);       throw $error;     }   }   // 发送sql查询   public function query($sql) {     $rs = mysql_query($sql,$this->conn);     if(!$rs) {       log::write($sql);     }     return $rs;   }这是一个单例模式实现mysqlPHP类,需要的朋友可以下载使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值