Heim > php教程 > PHP源码 > 封装的 mysql类, 和sql语句生成类

封装的 mysql类, 和sql语句生成类

PHP中文网
Freigeben: 2016-05-26 08:20:18
Original
1321 Leute haben es durchsucht

host = $server['host'];
            $this->user = $server['user'];
            $this->pwd  = $server['pwd'];
            $this->port = $server['port'];
            $this->dbname = $server['dbname'];            
            
            $this->connect();
            
        }//End of function       


        public static function  getInstance($server)
        {
            if(  self::$isConnect  ) {
                return self::$handle;    
             }  

            self::$handle =  new self($server);        
            self::$isConnect = true;

            return self::$handle;
        }//End of funtion


        private function connect()
        {
            $this->resource = mysql_connect($this->host.':'.$this->port,
                                             $this->user,
                                             $this->pwd
                             ) or $this->error("connect fail");
            
            mysql_select_db($this->dbname, $this->resource);
            
            return true;
        }
        
        
        private function getSql($sql)
        {
            $operate = array('insert', 'delete', 'update', 'select', 'create');
            return $sql;
        }
        
        
        public function query($sql)
        {
            $sql = $this->getSql($sql);
            mysql_query("SET NAMES UTF8");
            $query_result = mysql_query($sql, $this->resource) or $this->error("query fail");
            
            return $query_result;
        }


        public function getQueryResult($sql)
        {
            $query_result = $this->query($sql);

            $result = array();
            if( !$query_result ) {
                return $result;
            }

            while ( $row = mysql_fetch_assoc($query_result) ) {
                $result[] = $row;
            }
            $result['rows'] = mysql_num_rows($query_result);
            $query_result = null;
 
            return $result;
        }        

        
        public function getInsertResult($sql)
        {
            $query_result = $this->query($sql);
                       
            if( !$query_result  ) {
                return false;
            }

            return mysql_insert_id($this->resource);
        }            

        
        public function getUpdateResult($sql)
        {
            
            $query_result = $this->query($sql);
            
            if( !$query_result ) {
                return false;
            }
            
            return mysql_affected_rows($this->resource);
        }


        public function getDeleteResult($sql)
        {
            return $this->getUpdateResult($sql);    
        }        

        
        public function close_connect()
        {
            self::$handle = null;
            self::$isConnect = false;
            mysql_free_result($this->resource);
            $this->resource = null;
        }        

        
        private function error($msg='')
        {
           $msg = "$msg--->>".mysql_error();
           die($msg);
        }

}//End of class    


?>
Nach dem Login kopieren

2. [文件] DbTool.class.php

primary_key = $primary_key;
           }
        }
        
        public function getInsertSql($data, $table) {
            $sql = $key_str = $value_str = "";
            foreach($data as $key=>$value) {
                $key_str .= "{$key}, ";
                $value_str .= "'{$value}', ";
            }
            $key_str = trim($key_str, ', ');
            $value_str = trim($value_str, ', ');
            $sql = "INSERT INTO {$table}({$key_str}) VALUES({$value_str})";
            $data=null; $key_str=null; $value_str=null;
            
            return $sql;
        }


        public function getUpdateSql($data, $table) {
            $pk = $this->primary_key;
            $id = $data[$pk]; unset($data[$pk]);
            $sql = $key_value = "";
            foreach($data as $key=>$value) {
                $key_value .= "{$key}='{$value}', ";
            }
            $key_value = trim($key_value, ', ');
            $sql = "UPDATE {$table} SET {$key_value} WHERE $pk='{$id}'";
            $data=null; $key_value=null;

            return $sql;
        }


        public function getQuerySql($condition, $table) {
            $field = empty($condition['field']) ? '*': $condition['field'];
            $sql = "SELECT {$field} FROM {$table}  ";
            if( isset($condition['where']) ) {
                $sql .= "WHERE {$condition['where']} ";
            }
            if( isset($condition['groupby']) ) {
                $sql .= "GROUP BY {$condition['groupby']} ";
            }
            if( isset($condition['orderby']) ) {
                $sql .= "ORDER BY {$condition['orderby']} ";
            }
            if( isset($condition['limit']) ) {
                $sql .= "LIMIT {$condition['limit']} ";
            }
            $condition=null;

            return $sql;
        }



        public function getDeleteSql($id, $table) {
   
            $pk = $this->primary_key; 
            $sql = "DELETE FROM {$table} WHERE $pk='{$id}' ";
            return $sql;
        }

    }


?>
Nach dem Login kopieren

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage