php單例模式,鏈接數據庫

最近作了一個基於php技術的企業網站,第一次使用php,邊學邊作,爲了更好的完成網站,也爲了讓代碼更易於維護,裏面大量運用了單例模式,如下是數據庫鏈接的代碼,請君品鑑,若有可改進的,也但願您能提出意見,批評指正。php

爲了快速完成開發,沒有使用配置文件,直接寫在類裏面了。 mysql

conn.phpsql

<?php
	
	class MySqlManager{
		
		private $con; 
		private static $instance;
		private $server="localhost";
		private $username="root";
		private $userpwd="111111"; 
		private $database="enterprise"; 
		
		public static function getInstance()
		{
			if(!self::$instance)
			{
				self::$instance=new MySqlManager();
			}
			return self::$instance;
		}

		public function execute($sql){
			 
			 return mysql_query($sql);
		} 

		public function close(){
			if($this->con)
			{
				mysql_close($this->con);
			}
		}

		public function open(){
			$this->con = mysql_connect($this->server.":3306",$this->username,$this->userpwd);
			
			if(!$this->con)
			{
				die("connect mysql error "+$this->con.mysql_error());
			}
			else
			{
				//echo "connect mysql success ";
				mysql_select_db($this->database);
			}
		}

		function __construct()
		{
			//構造函數
			//echo $this->server;
			$this->open();
		}

		function __destruct(){ //析構函數 

		}
	}
?>

這樣的話,調用起來就很方便了數據庫

<?php
	require("./conn.php");
	$conobj= MySqlManager::getInstance(); 

    $conobj->open(); 
	
    $sql= "select * from table t"; 
    
    $query=$conobj->execute($sql);  
    
    $row=mysql_fetch_row($query);
    if($row)
	{
      //處理業務邏輯
     }
	
    $conobj->close(); 
?>

 

 

本博客文章大可能是經驗積累總結,以避免從此忘卻,記錄下來。同時感謝您的閱讀,也但願能對您有所幫助。函數

相關文章
相關標籤/搜索