PHP單例模式簡單用法示例
本文實例講述了PHP單例模式用法。分享給大家供大家參考,具體如下:
<?php class db { public $conn; public static $sql; public static $instance=null; private function __construct(){ require_once('db.config.php'); $this->conn = mysql_connect($db['host'],$db['user'],$db['password']); if(!mysql_select_db($db['database'],$this->conn)){ echo "失敗"; }; mysql_query('set names utf8',$this->conn); } public static function getInstance(){ if(is_null(self::$instance)){ self::$instance = new self(); } return self::$instance; } /** * 查詢數(shù)據(jù)庫 */ public function select($table,$condition=array(),$field = array()){ $where=''; if(!empty($condition)){ foreach($condition as $k=>$v){ $where.=$k."='".$v."' and "; } $where='where '.$where .'1=1'; } $fieldstr = ''; if(!empty($field)){ foreach($field as $k=>$v){ $fieldstr.= $v.','; } $fieldstr = rtrim($fieldstr,','); } else { $fieldstr = '*'; } self::$sql = "select {$fieldstr} from {$table} {$where}"; $result=mysql_query(self::$sql,$this->conn); $resuleRow = array(); $i = 0; while($row=mysql_fetch_assoc($result)){ foreach($row as $k=>$v){ $resuleRow[$i][$k] = $v; } $i++; } return $resuleRow; } //添加一條記錄 public function insert($table,$data) { $values = ''; $data = ''; foreach ($data as $k=>$v) { $values .= $k.','; $datas .= "'$v'".','; } $values = rtrim($values,','); $datas = rtrim($datas,','); self::$sql = "INSERT INTO {$table} ({$values}) VALUES ({$datas})"; if(mysql_query(self::$sql)) { return mysql_insert_id(); } else { return false; } } //修改一條記錄 public function update($table,$data,$condition=array()){ $where=''; if(!empty($condition)) { foreach($condition as $k=>$v) { $where.=$k."='".$v."' and "; } $where='where '.$where .'1=1'; } $updatastr = ''; if(!empty($data)) { foreach($data as $k=>$v) { $updatastr.= $k."='".$v."',"; } $updatastr = 'set '.rtrim($updatastr,','); } self::$sql = "update {$table} {$updatastr} {$where}"; return mysql_query(self::$sql); } //刪除記錄 public function delete($table,$condition) { $where=''; if(!empty($condition)) { foreach($condition as $k=>$v) { $where.=$k."='".$v."' and "; } $where='where '.$where .'1=1'; } self::$sql = "delete from {$table} {$where}"; return mysql_query(self::$sql); } public static function getLastSql() { echo self::$sql; } } $db = db::getInstance(); //$list = $db->select('demo',array('name'=>'tom','password'=>'ds'),array('name','password')); //echo $db->insert('demo',array('name'=>'最近你啦','password'=>'123')); //echo $db->update('demo',array("name"=>'xxx',"password"=>'123'),array('id'=>1)); echo $db->delete('demo',array('id'=>'2')); db::getLastSql(); echo "<pre>"; ?>
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP基本語法入門教程》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
- PHP實現(xiàn)單例模式最安全的做法
- php單例模式實現(xiàn)(對象只被創(chuàng)建一次)
- php利用單例模式實現(xiàn)日志處理類庫
- PHP最常用的2種設(shè)計模式工廠模式和單例模式介紹
- php設(shè)計模式 Singleton(單例模式)
- php基于單例模式封裝mysql類完整實例
- PHP基于單例模式實現(xiàn)的mysql類
- PHP基于單例模式編寫PDO類的方法
- php設(shè)計模式 Template (模板模式)
- PHP設(shè)計模式之觀察者模式(Observer)詳細(xì)介紹和代碼實例
- php設(shè)計模式 Proxy (代理模式)
- php設(shè)計模式小結(jié)
相關(guān)文章
php中g(shù)et_cfg_var()和ini_get()的用法及區(qū)別
這篇文章主要介紹了php中g(shù)et_cfg_var()和ini_get()的用法及區(qū)別,實例分析了get_cfg_var()和ini_get()函數(shù)的區(qū)別與使用技巧,需要的朋友可以參考下2015-03-03php使用pdo連接報錯Connection failed SQLSTATE的解決方法
這篇文章主要介紹了php使用pdo連接報錯Connection failed SQLSTATE的解決方法,涉及針對配置文件的修改,具有一定的參考借鑒價值,需要的朋友可以參考下2014-12-12PHP中register_globals參數(shù)為OFF和ON的區(qū)別(register_globals 使用詳解)
register_globals是php.ini里的一個配置,這個配置影響到php如何接收傳遞過來的參數(shù),如果你的問題是:為什么我的表單無法傳遞數(shù)據(jù)?為什么我的程序無法得到傳遞過來的變量?等等,那么你需要仔細(xì)的閱讀以下的內(nèi)容2012-02-02