| 
 | 
 
 
            本文实例讲述了PHP封装的PDO数据库操作类。分享给大家供大家参考,具体如下: 
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; 
  } 
} 
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基于pdo操作数据库技巧总结》、《php+Oracle数据库程序设计技巧总结》、《PHP+MongoDB数据库操作技巧大全》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》 
希望本文所述对大家PHP程序设计有所帮助。 
             
             
您可能感兴趣的文章:全新的PDO数据库操作类php版(仅适用Mysql)PHP数据库链接类(PDO+Access)实例分享PHP实现PDO的mysql数据库操作类详解PHP中的PDO类PHP的PDO常用类库实例分析简单的pgsql pdo php操作类实现代码PHP基于单例模式编写PDO类的方法php基于PDO实现功能强大的MYSQL封装类实例PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】php实现的pdo公共类定义与用法示例 
         |   
 
 
 
 |