本文实例讲述了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 "<pre>";?>更多关于PHP操作数据库相关内容感兴趣的读者可查看本站专题:《php+mysql数据库操作入门教程》、《PHP基于pdo操作数据库技巧总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。