* 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