mysql 通用类库


<?php
class MySQL{
	private $host;			                //服务器地址
	private $name;					        //登录账号
	private $pwd;					        //登录密码
	private $dBase;			                //数据库名称
	private $conn;						    //数据库链接资源
	private $result;					    //结果集
	private $msg;						    //返回结果
	private $fields;						//返回字段
	private $fieldsNum;					    //返回字段数
	private $rowsNum;					    //返回结果数
	private $rowsRst;					    //返回单条记录的字段数组
	private $filesArray = array();			//返回字段数组
	private $rowsArray = array();			//返回结果数组
	private $charset='utf8';                //设置操作的字符集
	private $query_count=0;                 //查询结果次数
	static private $_instance; 				//存储对象
	//初始化类
	private function __construct($host='',$name='',$pwd='',$dBase=''){
		if($host  !=  '')  $this->host  = $host;
		if($name  !=  '')  $this->name  = $name;
		if($pwd   !=  '')  $this->pwd   = $pwd;
		if($dBase !=  '')  $this->dBase = $dBase;
		$this->init_conn();
	}
	//防止被克隆
	private function __clone(){}
	public static function getInstance($host='',$name='',$pwd='',$dBase=''){
		if(FALSE == (self::$_instance instanceof self)){
			self::$_instance = new self($host,$name,$pwd,$dBase);
		}
		return self::$_instance;
	}
	public function __set($name,$value){
		$this->$name=$value;
	}
	public function __get($name){
		return $this->$name;
	}
	//链接数据库
	function init_conn(){
		$this->conn=@mysql_connect($this->host,$this->name,$this->pwd) or die('connect db fail !');
		@mysql_select_db($this->dBase,$this->conn) or die('select db fail !');
		mysql_query("set names ".$this->charset);
	}
	//查询结果
	function mysql_query_rst($sql){
		if($this->conn == '') $this->init_conn();
		$this->result = @mysql_query($sql,$this->conn);
		$this->query_count++;
	}
	//取得字段数 
	function getFieldsNum($sql){
		$this->mysql_query_rst($sql);
		$this->fieldsNum = @mysql_num_fields($this->result);
	}
	//取得查询结果数
	function getRowsNum($sql){
		$this->mysql_query_rst($sql);
		if(mysql_errno() == 0){
			return @mysql_num_rows($this->result);
		}else{
			return '';
		}	
	}
	//取得记录数组(单条记录)
	function getRowsRst($sql,$type=MYSQL_BOTH){
		$this->mysql_query_rst($sql);
		if(empty($this->result)) return '';
		if(mysql_error() == 0){
			$this->rowsRst = mysql_fetch_array($this->result,$type);
			return $this->rowsRst;
		}else{
			return '';
		}
	}
	//取得记录数组(多条记录)
	function getRowsArray($sql,$type=MYSQL_BOTH){
        !empty($this->rowsArray) ? $this->rowsArray=array() : '';
		$this->mysql_query_rst($sql);
		if(mysql_errno() == 0){
			while($row = mysql_fetch_array($this->result,$type)) {
				$this->rowsArray[] = $row;
			}
			return $this->rowsArray;
		}else{
			return '';
		}
	}
	//更新、删除、添加记录数
	function uidRst($sql){
		if($this->conn == ''){
			$this->init_conn();
		}
		@mysql_query($sql);
		$this->rowsNum = @mysql_affected_rows();
		if(mysql_errno() == 0){
			return $this->rowsNum;
		}else{
			return '';
		}
	}
	//返回最近插入的一条数据库的id值
	function returnRstId($sql){
		if($this->conn == ''){
			$this->init_conn();
		}
		@mysql_query($sql);
		if(mysql_errno() == 0){
			return mysql_insert_id();
		}else{
			return '';
		}
	}
	//获取对应的字段值
	function getFields($sql,$fields){
		$this->mysql_query_rst($sql);
		if(mysql_errno() == 0){
			if(mysql_num_rows($this->result) > 0){
				$tmpfld = @mysql_fetch_row($this->result);
				$this->fields = $tmpfld[$fields];
				
			}
			return $this->fields;
		}else{
			return '';
		}
	}
	//错误信息
	function msg_error(){
		if(mysql_errno() != 0) {
			$this->msg = mysql_error();
		}
		return $this->msg;
	}
	//释放结果集
	function close_rst(){
		mysql_free_result($this->result);
		$this->msg = '';
		$this->fieldsNum = 0;
		$this->rowsNum = 0;
		$this->filesArray = '';
		$this->rowsArray = '';
	}
	//关闭数据库
	function close_conn(){
		$this->close_rst();
		mysql_close($this->conn);
		$this->conn = '';
	}
	//取得数据库版本
	function db_version() {
		return mysql_get_server_info();
	}
}
include_once('mysql.class.php');
$db = MySQL::getInstance($db_host,$db_user,$db_pass,$db_data);

你可能感兴趣的:(mysql 通用类库)