單例 封裝PHP 資料庫連線

2021-08-10 02:23:51 字數 1579 閱讀 6524

<?php

class mysqldb

//連線資料庫

private function connect() :",$this->user,$this->pwd) or die('資料庫連線失敗');

}//設定字元編碼

private function setcharset() '";

$this->query($sql);

}//選擇資料庫

private function selectdb() `";

$this->query($sql);

}/**

*此方法用來執行sql語句

*如果是資料查詢語句,成功返回結果集,失敗返回false

*如果是資料操作語句,成功返回true,失敗返回false;

*/public function query($sql)

return $result;

}/**

*私有的建構函式防止在類的外部例項化物件

*@param $config array 連線資料庫的引數

*/private function __construct($config)

//私有的__clone()用來阻止是類的外部轉殖物件

private function __clone()

/***公有的靜態方法用來獲取mysqldb類的例項

*@return object mysqldb的例項

*/public static function getinstance($config=array())

/***從資料庫獲取所有資料

*@param $sql string sql語句

*@param $fetch_type string assoc|row|array

*@return array 將表中的資料匹配成二維陣列返回

*/public function fetchall($sql,$fetch_type='assoc')

return $array;

}/**

*獲取記錄的第一條記錄

*/public function fetchrow($sql,$fetch_type='assoc')

/***獲取記錄的第一行第一列

*/public function fetchcolumn($sql)

}header('content-type:text/html;charset=utf-8');

//測試

$config=array(

'host' => '127.0.0.1',

'user' => 'root',

'pwd' => 'aa',

'dbname'=> 'php4'

);$db=mysqldb::getinstance($config);

//$rs=$db->fetchrow("select * from stu",'aa');

$rs=$db->fetchcolumn("select * from stu");

echo '';

var_dump($rs);

php單例模式連線資料庫封裝類

單例模式有三大原則 建構函式不能為public 有乙個儲存例項的靜態成員變數 擁有訪問這個例項的公共靜態方法 基於單例模式的php資料庫連線類 class db static public function getinstance return self instance public functi...

php單例模式連線資料庫封裝類

單例模式有三大原則 建構函式不能為public 有乙個儲存例項的靜態成員變數 擁有訪問這個例項的公共靜態方法 基於單例模式的php資料庫連線類 php view plain copy class db static public function getinstance return self in...

PHP單例模式連線資料庫

總體來說設計模式分為三大類 建立型模式 結構型模式 行為型模式,今天要說的時屬於建立型模式裡的單例模式。單例模式通常用於在特定的情況下可以節省資源的消耗,使用較為普遍,例如同一頁面對資料庫的多次操作,不需要去new多次從而節省了資源。而對於php,關鍵在於其中的 instanceof 它用來檢測乙個...