亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
這一節的,有急需的童鞋,可以先取用^^

<?php?
//PDO資料庫操作類的封裝
class?PdoMySQL{
	public?static?$config=array();//設置連接參數,配置訊息
	public?static?$link=null;//保存連接標識符
	public?static?$pconnect=false;//是否開啟長連接
	public?static?$dbVersion=null;//保存資料庫版本
	public?static?$connected=false;//是否連接成功
	public?static?$PDOStatement=null;//保存PDOStatement對象
	
	//構造函數
	public?function?__construct($dbConfig=''){
		if(!class_exists("PDO")){
			self::throw_excption('不支持PDO,請先開啟');
		}
		if(!is_array($dbConfig)){?//如果沒傳,則初始化
			$dbConfig=array(
			??'hostname'=>DB_HOST,
			??'username'=>DB_USER,
			??'password'=>DB_PWD,
			??'database'=>DB_NAME,
			??'hostport'=>DB_PORT,
			??'dbms'=>DB_TYPE,
			??'dsn'=>DB_TYPE.":host=".DB_HOST.";dbname=".DB_NAME			
			);
		}
		//判斷是否有主機名
		if(empty($dbConfig['hostname']))self::throw_exception('沒有定義資料庫配置,請先定義');
		self::$config=$dbConfig;
		if(empty(self::$config['params']))self::$config['params']=array();//第四個參數
		if(!isset(self::$link)){//如果沒有連接對象
			$configs=self::$config;
			if(self::$pconnect){
				//開啟長連接,添加到配置陣列中
				$configs['params'][constant("PDO::ATTR_PERSISTENT")]=true;
			}
			try{
				self::$link=new?PDO($configs['dsn'],$configs['username'],$configs['password'],$configs['params']);
			}catch(PDOException?$e){
				self::throw_exception($e->getMessage());
			}
			if(!self::$link){//如果連接失敗,拋出異常
				self::throw_exception('PDO連接錯誤');
				return?false;
			}
			self::$link->exec('SET?NAMES?'.DB_CHARSET);
			self::$dbVersion=self::$link->getAttribute(constant("PDO::ATTR_SERVER_VERSION"));
			self::$connected=true;//代表連接成功
			unset($configs);
		}
	}
	
	/**
	*?得到所有記錄
	*?@param?string?$sql
	*?@return?unknown
	*/
	public?static?function?getAll($sql=null){
		if(!$sql){
			self::query($sql);
		}
		$result=self::$PDOStatement->fetchAll(constant("PDO::FETCH_ASSOC"));//關聯陣列形式
		return?$result;
	}
	
	
	/**
	*?自定義錯誤處理
	*?@param?unknown?$errMsg
	*/	
	public?static?function?throw_exception($errMsg){
		echo?'<div?style="width:80%;background-color:#E8E8E8;color:#000;font-size:20px;padding:20px?0">'.$errMsg.'</div>';
	}
	
	
}

?>


正在回答

1 回答

^-^...

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號