本文实例讲述了PHP基于单例模式实现的数据库操作基类。分享给大家供大家参考,具体如下:
配置文件:
<?php $db = array( \'host\'=>\'localhost\', \'user\'=>\'root\', \'password\'=>\'\', \'database\'=>\'test\', ) ?>
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 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\'=>\'phpstudy\',\'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>\"; ?>
更多关于PHP操作数据库相关内容感兴趣的读者可查看本站专题:《php+mysql数据库操作入门教程》、《PHP基于pdo操作数据库技巧总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
本文地址:https://www.stayed.cn/item/5045
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我