PHP基於單例模式實現的資料庫操作基類,php例模式資料庫
本文執行個體講述了PHP基於單例模式實現的資料庫操作基類。分享給大家供大家參考,具體如下:
設定檔:
<?php$db = array( 'host'=>'localhost', 'user'=>'root', 'password'=>'', 'database'=>'test',)?>
php 資料庫基類:
<?phpclass 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 db; } return self::$instance; } /** * 查詢資料庫 */ 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 = ''; $datas = ''; 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 "";?>
更多關於PHP操作資料庫相關內容感興趣的讀者可查看本站專題:《php+mysql資料庫操作入門教程》、《PHP基於pdo操作資料庫技巧總結》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程式設計有所協助。
您可能感興趣的文章:
- PHP中資料庫單例模式的實現代碼分享
- php實現比較全的資料庫操作類
- php簡單操作mysql資料庫的類
- PHP實現PDO的mysql資料庫操作類
- PHP實現的sqlite資料庫連接類
- PHP+Mysql樹型結構(無限分類)資料庫設計的2種方式執行個體
- PHP輕量級資料庫操作類Medoo增加、刪除、修改、查詢例子
- PHP資料庫萬能引擎類adodb配置使用以及執行個體集錦
http://www.bkjia.com/PHPjc/1092844.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1092844.htmlTechArticlePHP基於單例模式實現的資料庫操作基類,php例模式資料庫 本文執行個體講述了PHP基於單例模式實現的資料庫操作基類。分享給大家供大家參考,...