zoukankan      html  css  js  c++  java
  • 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;
        }
    
    
        /**
        * 查询数据库
        */
        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>";
    ?>
  • 相关阅读:
    虚函数和纯虚函数
    MS CRM 2011中PartyList类型字段的实例化
    MS CRM 2011的自定义与开发(12)——表单脚本扩展开发(4)
    MS CRM 2011的自定义与开发(12)——表单脚本扩展开发(2)
    MS CRM 2011的自定义和开发(10)——CRM web服务介绍(第二部分)——IOrganizationService(二)
    MS CRM 2011 SDK 5.08已经发布
    MS CRM 2011 Q2的一些更新
    最近很忙
    Microsoft Dynamics CRM 2011最近的一些更新
    补一篇,Update Rollup 12 终于发布了
  • 原文地址:https://www.cnblogs.com/gide/p/4437827.html
Copyright © 2011-2022 走看看