zoukankan      html  css  js  c++  java
  • 封装PDO操作数据库

    <?php
    class DatabaseHandler {
            
            /**
             * sql语句查询
             */
            public static function query_data ($dataName,$sql,$query=array()) {
                $result = array();
                if (!empty($sql)) {
                    $data = Bj_PdoDB::factory($dataName)->allPrepare($sql, $query);
                    if  (!$data->isEmpty()) {
                        $result = $data->data;
                    }
                }
                return $result;
            }
            
            /**
             * 查询数据
             */
            public static function select_data ($dataName,$tableName,$where,$param=array(),$desc='') {
                $result = array();
                $query = array();
                $query_str = '1=1';
                $tmp = '';
                $str_arr = '';
                if (!empty($param)) {
                    $str = '';
                    foreach ($param as $val) {
                        $str .= '`'.$val.'`,';
                    }
                    $str = substr($str,0,-1);
                }
                $str_arr = !empty($str) ? $str : '*';
                
                if ( !empty($where) ) {
                    foreach ($where as $key => $value) {
                        $tmp .= ' AND '.$key.'=:'.$key.'';
                        $query[':'.$key] = $value;
                    }
                }
                $query_str .= $tmp;
                if (!empty($desc)) {
                    $query_str .= $desc;
                }
                $sql = "SELECT {$str_arr} FROM `".$tableName."` WHERE {$query_str} ";
                $query_data = Bj_PdoDB::factory($dataName)->allPrepare($sql, $query);
                if ( !$query_data->isEmpty() ) {
                    $result = $query_data->data;
                }
                return $result;
            }
    
            /**
             * 批量添加信息
             */
            public static function insert_data($dataName,$tableName,$add_param){
                $flag = false;
                if (!empty($add_param)) {
                    $fileds = array();
                    $str = '';
                    foreach($add_param as $k=>$val){
                        $str .= '(';
                        $i = 0;
                        foreach ($val as $key=>$vl) {
                            $fileds[$i] = '`'.$key.'`';
                            $str .= "'".addslashes($vl)."',";
                            $i++;
                        }
                        $str = substr($str,0,-1);
                        $str .= '),';
                    }
                    $filed_str = implode(',',$fileds);
                    $val_str = substr($str,0,-1);
                    $sql = "INSERT INTO `".$tableName."` ({$filed_str}) VALUES {$val_str}";
                    $ret = Bj_PdoDB::factory($dataName)->insertPrepare($sql);
                    if ( !$ret->isEmpty() ) {
                            $insertId = $ret->data;
                            if($insertId > 0){
                                return $insertId;
                            }
                    }
                }
                return $flag;
            }
        
        /**
         * 删除数据
         */
        public static function delete_data ($dataName,$tableName,$id) {
            $query = array(':id' => $id);
            $sql = "DELETE FROM ". $tableName. " WHERE `id`=:id";
            $db_res = Bj_PdoDB::factory($dataName)->simplePrepare($sql,$query);
            return $db_res->data;
        }
    
        /**
         * 更新数据
         */
        public static function update_data ($dataName,$tableName,$id,$array) {
            $flag = false;
            if ( !empty($array) && !empty($id)) {
                $query = array(':id' => $id);
                $up_str = '';
                foreach($array as $key=>$val) {
                    $query[':'.$key] = addslashes($val);
                    $up_str .= '`'.$key.'`=:'.$key.',';
                }
                $up_str = substr($up_str,0,-1);
                $sql = "UPDATE `".$tableName."` SET ".$up_str." WHERE `id`=:id";
                $db_res = Bj_PdoDB::factory($dataName)->changePrepare($sql, $query);
                $flag = true;
            }
            return $flag;
        }
        
        /**
         * 事务
         */
        public static function transactionHandler($dataName,$type){
            switch ($type) {
                case 'begin':
                    return Bj_PdoDB::factory($dataName)->beginTransaction();
                    break;
                case 'commit':
                    return Bj_PdoDb::factory($dataName)->commit();
                    break;
                case 'rollback':
                    return Bj_PdoDb::factory($dataName)->rollback();
                    break;
                default :
                    exit;
            }
        }
        
        /**
         * curl获取数据get
         */
        public static function curl_data ($curl_url){
            if (!empty($curl_url)) {
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL, $curl_url); 
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
                curl_setopt($ch, CURLOPT_HEADER, 0); 
                $output = curl_exec($ch); 
                curl_close($ch);
                return $output;
            }
            return false;
        }
        
        /**
         * curl提交数据
         */
        public static function curl_data_post ($ch_url,$param) {
            $result = array();
            if (!empty($ch_url) && !empty($param)) {
                $query_string = http_build_query($param);
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL, $ch_url);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
                curl_setopt($ch, CURLOPT_POST,1); 
                curl_setopt($ch, CURLOPT_POSTFIELDS, $query_string);
                curl_setopt($ch, CURLOPT_HTTPHEADER,array("application/x-www-form-urlencoded; charset=UTF-8"));
                $output = curl_exec($ch); 
                curl_close($ch);
                $result = !empty($output) ? json_decode($output,true) : array();
            }
            return $result;
        }
    }

     数据库连接就自己写吧。

  • 相关阅读:
    java NIO 总结
    NIO 服务器和客户端 demo
    nio channel demo
    使用docker制作zookeeper镜像
    java BIO模型demo
    IDEA中语句添加try....catch..语句块
    线程的几种创建方式
    海豚调度Dolphinscheduler源码分析(四)
    @PostConstruct注解
    zookeeper常用命令
  • 原文地址:https://www.cnblogs.com/gide/p/4503603.html
Copyright © 2011-2022 走看看