<?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"
// )
// )
//));
///******************************************************************************// };

mysql数据库封装的更多相关文章

  1. mysql数据库封装和 分页查询

    1 之前我们学到了php连接mysql数据库的增删改查,中间要多次调用数据库, 而且以后用到的表比较多,上传中如果需要改数据的话会非常麻烦,但是如果 我们把数据库封装,到时就可以很轻松的把改掉一些数据 ...

  2. MySQL数据库封装和分页查询

    1.数据库封装 <?php //我用的数据库名是housedb class DBDA {public $host="localhost";public $uid=" ...

  3. python连接mysql数据库封装

    源码: import pymysql class MysqlConnect(object): # 魔术方法, 初始化, 构造函数 def __init__(self, host, user, pass ...

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

    实现一个mysql数据库封装需要考虑的问题 使用方便性 采用直接sql语句操作方式.只要会写sql语句,那么将没有其他学习成本. uctphp框架提供的dba辅助封装类,用会之后将爱不释手. 使用前需 ...

  5. python3操作MySQL数据库

    安装PyMySQL 下载地址:https://pypi.python.org/pypi/PyMySQL 1.把操作Mysql数据库封装成类,数据库和表先建好 import pymysql.cursor ...

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

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  7. nodejs学习(三)--express连接mysql数据库,mysql查询封装

    一.说一下 连接不同的数据库需要安装相应的插件,此demo使用mysql数据库,需自行安装mysql数据库软件. 新建数据库webapp, 新建表users: 二.直接开码 npm install m ...

  8. 使用jdbc将mysql数据库中的内容封装为指定对象的list集合

    使用jdbc将mysql数据库中的内容封装为指定对象的list集合 public List<User> findAll() { private JdbcTemplate template ...

  9. JDBC Java 程序从 MySQL 数据库中读取数据,并封装到 Javabean 对象中

    MySQL 版本:Server version: 5.7.17-log MySQL Community Server (GPL) 相关内容:JDBC Java 连接 MySQL 数据库 用于测试的 M ...

随机推荐

  1. XML-->DTD&Schema Notes

     The need for XML “schemas” •Unlike any other data format, XML is totally flexible, elements can be ...

  2. PHP中常见的五种设计模式

    设计模式只是为 Java架构师准备的 — 至少您可能一直这样认为.实际上,设计模式对于每个人都非常有用.如果这些工具不是 “架构太空人” 的专利,那么它们又是什么?为什么说它们在 PHP 应用程序中非 ...

  3. Daily Scrum Meeting ——TenthDay

    一.Daily Scrum Meeting照片 二.Burndown Chart 新增了几个issues 三.项目进展 1.完成了登录界面与管理员和发布者界面的整合. 2.活动发布者界面的完成 四.问 ...

  4. Linux串口中的超时设置

    在Linux下使用串口通信时,默认的阻塞模式是不实用的.而采用select或epoll机制的非阻塞模式,写代码有比较麻烦.幸好Linux的串口自己就带有超时机制. Linux下使用termios.h中 ...

  5. Windows环境配置HTTP服务(Windows + Apache + Mysql + PHP)

    1.安装WampServer 2.管理HTTP服务 任务图标绿色为正常启动状态 注意事项:1.检查网络是不是通的 ping 对方IP2.检查防火墙是否开启,如果开启将不能正常被访问3.检查访问权限 A ...

  6. [Asp.net MVC]Asp.net MVC5系列——在模型中添加验证规则

    目录 概述 在模型中添加验证规则 自定义验证规则 伙伴类的使用 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5 ...

  7. 双击导航栏自动滑动ListView到顶部

    有些app都实现了双击导航栏让页面的list自动滑动到顶部的feature. 先实现一个继承于OnTouchListener的监听多次点击事件的监听器,通过callback把连续点击的次数返回给客户代 ...

  8. 关于kali2.0 rolling无法连接数据的解决办法

    在使用kali2.0时,经常遇到metasploit无法连接数据库的问题,经过在网上寻找资料,很多都是对kali2.0的,有些路径都是不同的了,所以未能解决, 最后在自己的摸索下,找到了如下方法: 其 ...

  9. AngularJS的JSONP服务

    有些页面的response中,包含了 Access-Control-Allow-Origin 这个header,说明可以进行跨域请求,如果没有包含这个header的页面可以利用JSONP进行跨域 sc ...

  10. 去掉input框点击时的默认颜色

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 < ...