mysql数据库封装

<?php

/** * name: sql操作封装,可扩展 . * User: 张云山 * Date: 2016/9/4 * Time: 22:02 */

//php文件编码设置header(‘Content-type: text/html; charset=utf-8‘);//数据库类class sqled {    public function addTabase($sql_url,$sql_name,$sql_pss,$sql_DB){//创建数据库        $conn = new mysqli($sql_url,$sql_name,$sql_pss);        if(!$conn){            echo "连接失败<br>";        };        $sql = "CREATE DATABASE ".$sql_DB;        if($conn->query($sql) == TRUE){            return true;        }else{            echo $conn->error."<br>";        };        $conn -> close();    }    //示例(创建数据库)************///  addTabase($sql_url,$sql_name,$sql_pss,$sql_DB);    ///*************************************************************************///

    public function addTable($sql_url,$sql_name,$sql_pss,$sql_DB,$data){//创建表以及字段        $conn = new mysqli($sql_url,$sql_name,$sql_pss,$sql_DB);        // 检测连接        if (!$conn) {            echo "连接失败";        };        $sql = "CREATE TABLE {$data[‘name‘]} (            id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,            {$data[‘data‘]}        )";        /*          id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,        firstname VARCHAR(30) NOT NULL,        lastname VARCHAR(30) NOT NULL,        email VARCHAR(50),        reg_date TIMESTAMP       */        if($conn->query($sql) == TRUE){            return true;        }else{            echo $conn->error."<br>";        };        $conn -> close();    }    //示例(创建表以及字段)************///  addTable($sql_url,$sql_name,$sql_pss,$sql_DB,array("name"=>"ceshi_biao","data"=>"    //                              test VARCHAR(30) NOT NULL    //                         "));    //***************************************************************************************///

    public function addDB($sql_url,$sql_name,$sql_pss,$sql_DB,$data){//添加字段数据        $conn = new mysqli($sql_url,$sql_name,$sql_pss,$sql_DB);        if(!$conn){            echo "连接失败";        };        $sql = "INSERT INTO {$data[‘name‘]} (          {$data["key"]}        )        VALUES (          {$data[‘value‘]}        )";        if($conn->query($sql) == TRUE){            return true;        }else{            echo $conn->error;        };        $conn -> close();    }    //示例(添加字段数据)************///  addDB($sql_url,$sql_name,$sql_pss,$sql_DB,array(    //                         "name"=>"ceshi_biao",    //                         "key"=>"zanIndex",    //                         "value"=>"0",    //));    ///***********************************************************************************///

    public function queryDB($sql_url,$sql_name,$sql_pss,$sql_DB,$data){//读取数据        // 创建连接        $conn = new mysqli($sql_url,$sql_name,$sql_pss,$sql_DB);        // 检测连接        if ($conn->connect_error) {            die("连接失败: " . $conn->connect_error);        };        $sql = "SELECT {$data[‘data‘]} FROM {$data[‘name‘]}";        $result = $conn->query($sql);        if ($result->num_rows > 0) {            // 输出每行数据            $data_data = explode(",",$data[‘data‘]);            $key = ‘{‘;            $fh = ‘,‘;            for($i = 0 ; $i < count($data_data) ; $i++){                if($i == count($data_data)-1){                    $fh = ‘‘;                };                $key = $key.‘"‘.$data_data[$i].‘":"$row[\‘‘.$data_data[$i].‘\‘]"‘.$fh;            };            $key = $key.‘}‘;            $returnData = array();            while($row = $result->fetch_assoc()) {                $key1 = json_decode($key,true);                foreach($key1 as $keyName=>$value){                    $value =  "{".$value."}";                    eval("\$value = \"$value\";");                    $key1[$keyName] = $value;                };                array_push($returnData,$key1);            };//            echo $returnData;//执行回调,并返回查询结果        } else {            echo "0 个结果";        };        return $returnData;        $conn->close();    }    //示例(数据读取或数据查询)************///  queryDB($sql_url,$sql_name,$sql_pss,$sql_DB,array(    //                         "name" => "ceshi_biao",    //                         "data" => "id,zanIndex",    //                     ));    //******************************************************************///

    public function updateDB($sql_url,$sql_name,$sql_pss,$sql_DB,$data){//数据更新        $con=mysqli_connect($sql_url,$sql_name,$sql_pss,$sql_DB);        // 检测连接        if (mysqli_connect_errno())        {            echo "连接失败: " . mysqli_connect_error();        };        $sqlUpdate_set = null;        $sqlUpdate_WHERE = null;        //无条件设置,全部更新        $index = 0;        $fh = ",";        foreach ($data[‘newdata‘] as $key => $value){            $index += 1;            if($index == count($data[‘newdata‘])){                $fh = null;            };            $sqlUpdate_set = $sqlUpdate_set.$key."=‘".$value."‘".$fh;        };        //有条件限制s        if(count($data["data"]) > 0 ){            $sqlUpdate_WHERE = "WHERE";            $fh1 = "AND";            $index1 = 0;            foreach ($data["data"] as $key=>$value){                $index1 += 1;                if($index1 == count($data[‘data‘])){                    $fh1 = null;                };                $sqlUpdate_WHERE = $sqlUpdate_WHERE." ".$key."=‘".$value."‘".$fh1;            };        };        //有条件限制e        mysqli_query($con,"UPDATE {$data[‘name‘]} SET ".$sqlUpdate_set.$sqlUpdate_WHERE);        mysqli_close($con);        return true;    }    //示例(数据更新)************///  updateDB($sql_url,$sql_name,$sql_pss,$sql_DB,array(    //                         "name"=>"ceshi_biao",    //                         "newdata" => array(    //                             "zanIndex"=>"豆腐干发给豆腐",    //                             "id"=>"1",    //                         ),    //                         "data"=> array()//条件    //                     ));    //*****************************************************************///

    public function deleteDB($sql_url,$sql_name,$sql_pss,$sql_DB,$data){//数据删除        $con=mysqli_connect($sql_url,$sql_name,$sql_pss,$sql_DB);        // 检测连接        if (mysqli_connect_errno())        {            echo "连接失败: " . mysqli_connect_error();        };        $result = mysqli_query($con,"DELETE FROM {$data[‘name‘]} WHERE {$data[‘data‘]}");        echo $result;        mysqli_close($con);        return true;    }    //示例(数据删除)************///  deleteDB($sql_url,$sql_name,$sql_pss,$sql_DB,array(    //                         "name"=>"ceshi_biao",    //                     ));    //*********************************************************************************//

    //数据初始值赋值    public function aab($a,$b){        if($a){            $a = $a;        }else{            $a = $b;        };        return $a;    }    //*********************************************************************************//

    //数据库操作类型    public static $sql_type = array(        "addTabase"=>"addTabase",//创建数据库        "addTable"=>"addTable",//创建表以及字段        "addDB"=>"addDB",//添加字段数据        "queryDB"=>"queryDB",//读取数据        "updateDB"=>"updateDB",//数据更新        "deleteDB"=>"deleteDB"//数据删除    );    //*********************************************************************************//

    //sql综合调用方法;    public function fn($sql){        $sql[‘type‘] = $this->aab($sql[‘type‘],sqled::$sql_type[‘queryDB‘]);//默认数据库操作设置为(数据查询)        $sql[‘url‘] = $this->aab($sql[‘url‘],"127.0.0.1");        $sql[‘name‘] = $this->aab($sql[‘name‘],"root");        $sql[‘pss‘] = $this->aab($sql[‘pss‘],"admin");        $sql[‘db‘] = $this->aab($sql[‘db‘],"");        $sql[‘table‘] = $this->aab($sql[‘table‘],"");        $sql[‘array‘] = $this->aab($sql[‘array‘],array());        switch ($sql[‘type‘]){            case "addTabase";//创建数据库                return $this->addTabase($sql[‘url‘],$sql[‘name‘],$sql[‘pss‘],$sql[‘db‘]);                break;            case "addTable";//创建表以及字段                return $this->addTable($sql[‘url‘],$sql[‘name‘],$sql[‘pss‘],$sql[‘db‘],$sql[‘array‘]);                break;            case "addDB";//添加字段数据                return $this->addDB($sql[‘url‘],$sql[‘name‘],$sql[‘pss‘],$sql[‘db‘],$sql[‘array‘]);                break;            case "queryDB";//读取数据                return $this->queryDB($sql[‘url‘],$sql[‘name‘],$sql[‘pss‘],$sql[‘db‘],$sql[‘array‘]);                break;            case "updateDB";//数据更新                return $this->updateDB($sql[‘url‘],$sql[‘name‘],$sql[‘pss‘],$sql[‘db‘],$sql[‘array‘]);                break;            case "deleteDB";//数据删除                return $this->deleteDB($sql[‘url‘],$sql[‘name‘],$sql[‘pss‘],$sql[‘db‘],$sql[‘array‘]);                break;        }    }    //示例(sql操作)*****************///        //$sql = new sqled();        //$q =  $sql->fn(array(        //    "db"=>sql_db,        //    ‘type‘=>sqled::$sql_type[‘deleteDB‘],        //    "array"=>array(        //        "name"=>"user",        //        "data"=>"id",        //        "newdata"=>array(        //            "id"=>"5",        //            "user" => "new-d"        //        )        //    )        //));    ///******************************************************************************//

};
时间: 2024-10-12 08:18:42

mysql数据库封装的相关文章

python连接mysql数据库封装

源码: 1 import pymysql 2 3 class MysqlConnect(object): 4 # 魔术方法, 初始化, 构造函数 5 def __init__(self): 6 self.db = pymysql.connect(host='127.0.0.1', user='root', password='123456',port=3306, database='xueqiu') 7 self.cursor = self.db.cursor() 8 9 def exec(se

python3操作MySQL数据库

安装PyMySQL 下载地址:https://pypi.python.org/pypi/PyMySQL 1.把操作Mysql数据库封装成类,数据库和表先建好 import pymysql.cursors # ======== Setting linked test databases =========== host = '192.168.17.123' user = 'root' password = '123456' db='polls' # ======== MySql base oper

如何实现一个php框架系列文章【6】mysql数据库

实现一个mysql数据库封装需要考虑的问题 使用方便性 采用直接sql语句操作方式.只要会写sql语句,那么将没有其他学习成本. uctphp框架提供的dba辅助封装类,用会之后将爱不释手. 使用前需要显示初始化并连接到数据库吗,当然不需要. 直到执行第一条sql语句之前,都不会去连接数据库,甚至不会new一个db对象. dba将会在合适的时机去连接数据库并执行初始化字符编码操作. 查询语句.不需要new一个查询构造器也不提供链式操作方式,那样复杂且低效. dba提供了以下的查询辅助函数. 1

MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

首先需要回顾一下上一篇文章中的内容:MySQL数据库学习笔记(九)----JDBC的PreparedStatement接口重构增删改查 一.JDBC事务处理: 我们已经知道,事务的概念即:所有的操作要么同时成功,要么同时失败.在MySQL中提供了Commit.Rollback命令进行事务的提交与回滚.实际上在JDBC中也存在事务处理,如果要想进行事务处理的话,则必须按照以下的步骤完成. JDBC中事务处理的步骤: 1.要取消掉JDBC的自动提交:void setAutoCommit(boolea

Mysql数据库大量删除操作及谈面向对象中的封装继承和多态原理(图)

Mysql数据库大量删除操作及谈面向对象中的封装继承和多态原理(图)最近进行数据库操作,遇到一个问题,就是大量删除一个数据表中的数据后,由于设定了id是自增的,导致再插入时,默认生成的id会很大,这个时候想要再次插入新的数据,应该怎么办呢?1.明确目前最后一个id的大小select id from tags order by id DESC limit 0,1; 假设返回的是9,则设置数据表从10开始自增 2.修改这个数据表从10开始自增alter table tags auto_increme

MySQL数据库(7)_用户操作与权限管理、视图、存储过程、触发器、基本函数

用户操作与权限管理 MySQL用户操作 创建用户 方法一: CREATE USER语句创建 CREATE USER "用户名"@"IP地址" IDENTIFIED BY "密码"; 方法二: INSERT语句创建 INSERT INTO mysql.user(user,host, password,ssl_cipher,x509_issuer,x509_subject) VALUES('用户名','IP地址',password('密码'),'',

Java小项目之Login界面理解MVC(MySQL数据库基本操作)

说真的,第一次看到MVC时候的感觉就和看到面向对象编程一样,感觉很方.之后慢慢的写了一些代码,在理解面向对象编程的同时也看到了MVC,虽然现在还是用不到,但是我觉得还是有些了解的好. 先谈谈MVC:模型(model):程序员编写程序应有的功能(实现算法等等).数据库专家进行数据管理和数据库设计(可以实现具体的功能).  视图(view):设计界面. 控制(Controller):处理事务. 很多地方可能我理解的不是很到位.只是能写出来一个大概,后续我还会更新.又重新查了一遍资料,感觉又开始有一种

xtrabackup进行MySQL数据库备份/还原

http://hongge.blog.51cto.com/ 使用xtrabackup进行MySQL数据库备份 前面介绍mysqldump备份方式是采用逻辑备份,其最大的缺陷就是备份和恢复速度都慢,对于一个小于50G的数据库而言,这个速度还是能接受的,但如果数据库非常大,那再使用mysqldump备份就不太适合了. 这时就需要一种好用又高效的工具,xtrabackup就是其中一款,号称免费版的InnoDB HotBackup. Xtrabackup实现是物理备份,而且是物理热备 目前主流的有两个工

MySQL数据库安装,配置My.ini文件

最近在做项目开发时用到了MySql数据库,在看了一些有关MySql的文章后,很快就上手使用了.在使用的过程中还是出现了一些问题,因为使用的是绿色免安装版的MySql所以在配置的时候出现了一些问题,该篇文章就主要针对MySql绿色版的配置及其使用进行讨论. 一.MySql概述 MySql数据库是有瑞典MySql AB公司开发,现在该公司被Oracle收购属于Oracle所有.同SQL Server类似,它也是基于关系型数据库的数据库管理系统,在Web应用方面MySQL是最好的RDBMS之一,因为它