封装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;
    }
}

数据库连接就自己写吧。

时间: 2024-10-11 01:00:48

封装PDO操作数据库的相关文章

封装的 PDO 操作数据库 的帮助类 MySqlHelper

封装的 PDO 操作数据库 的帮助类 MySqlHelper 封装的 PDO 操作数据库 的帮助类 MySqlHelper ,仅供学习交流使用! <?php /** * Description of MySqlHelper * * @author fx678 */ class MySqlHelper { private static $pdoDB = null; public function __destruct() { $this->pdoDB = null; } /** * 获取ini配

封装JDBC操作数据库的方法

自己动手封装java操作数据库的方法: 一:目录结构 二:所需依赖的第三方jar包 这里只需引入mysql-connector-java-5.1.8-bin.jar,mysql数据库驱动jar包 三:代码 1:和数据库进行交互,首先是数据源,获取连接,代码如下: 1 /** 2 * 3 */ 4 package com.hlcui.datasource; 5 6 import java.sql.Connection; 7 import java.sql.DriverManager; 8 impo

php pdo操作数据库

POD扩展是在PHP5中加入,该扩展提供PHP内置类 PDO来对数据库进行访问,不同数据库使用相同的方法名,解决数据库连接不统一的问题. PDO的特点: 性能.PDO 从一开始就吸取了现有数据库扩展成功和失败的经验教训.因为 PDO 的代码是全新的,所以我们有机会重新开始设计性能,以利用 PHP 5 的最新特性.能力.PDO 旨在将常见的数据库功能作为基础提供,同时提供对于 RDBMS 独特功能的方便访问. 简单.PDO 旨在使您能够轻松使用数据库.API 不会强行介入您的代码,同时会清楚地表明

PDO操作数据库

$dsn="mysql:host=localhost;dbname=test"; try{  $db=new PDO($dsn,'root','root'); }catch(PDOException $e){  die('error:'.$e); } 说明: $dsn = "mysql:host=localhost;dbname=test";就是构造我们的DSN(数据源),看看里面的信息包括:数据库类型是mysql,主机地址是localhost,数据库名称是test

php pdo操作数据库的方法

PDO 安装 你可以通过 PHP 的 phpinfo() 函数来查看是否安装了PDO扩展. 1.在 Unix /linux系统上安装 PDO 在Unix上或Linux上你需要添加以下扩展: extension=pdo.so 2.在windows安装pdo PDO 和所有主要的驱动作为共享扩展随 PHP 一起发布,要激活它们只需简单地编辑 php.ini 文件,并添加以下扩展: extension=php_pdo.dll除此之外还有以下对应的各种数据库扩展: ;extension=php_pdo_

PDO操作数据库简便方法

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

php pdo操作数据库 总结

使用预处理方式: $dbh = new PDO('mysql:host=localhost;dbname=access_control', 'root', ''); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $dbh->exec('set names utf8'); /*添加*/ //$sql = "INSERT INTO `user` SET `login`=:login AND `password

PDO面向对象操作数据库服务器

1.PDO是PHP新版中推荐的基于面向对象操作数据库服务器的方式. 开启PDO_mysql相关扩展:在php.ini中修改extension=php_pdo_mysql.dll 重启apache 2.PDO操作数据库的基本使用步骤 连接,认证,发送SQL,等待mysql服务器的执行结果,处理执行结果 3.pdo操作数据库的代码: <?php //实例化PDO对象 $dsn='mysql:host=localhost;port=3306;dbname=php34'; $username='root

PDO操作mysql数据库-01

<meta charset="utf-8" /> <?php /*1.什么是PDO---->PHP Data Object PDO扩展为PHP访问数据库定义了一个轻量级的.一致性的接口,它提供了一 个数据库访问抽象层,这样,无论使用什么数据库,都可以通过 一致的函数 执行查询和获取数据 2.PHP PDO配置 在PHP5系列版本中,PDO不是默认支持的,需要手工配置才可以使用. 打开 php.ini 文件,将 extension=php_pdo.dll exte