MySQL-DB-封装-简易版
<?php
class DB{ private $link; public function __construct($host,$user,$password,$dbname,$port)
{
$link = mysqli_connect($host,$user,$password,$dbname,$port);
if(!$link){
echo "数据库连接失败";
exit();
}
$this->link = $link;
} //增加
public function insert($table,$data){
$sql = "";
$sql.= "insert into `$table` ";
$sql.= "(".implode(",",array_keys($data)).")";
$sql.= " VALUES";
$sql.= "('".implode("','",$data)."')";
$res = mysqli_query($this->link,$sql);
if($res && mysqli_affected_rows($this->link)>0){
return mysqli_insert_id($this->link);
}else{
return false;
}
}
//获取所有
public function getAll($sql){
$obj = mysqli_query($this->link,$sql);
$data = mysqli_fetch_all($obj,1);
return $data;
} //删除
public function delete($table,$where){
$sql = "delete from `{$table}` where {$where}";
$res = mysqli_query($this->link,$sql);
if($res && mysqli_affected_rows($this->link)){
return mysqli_affected_rows($this->link);
}else{
return false;
}
}
//更新
public function update($table,$data,$where){
$sql = "update `$table` set";
foreach ($data as $k=>$v){
$sql .= "`{$k}` = '{$v}',";
}
$sql = rtrim($sql,',');
$sql.= $where;
$res = mysqli_query($this->link,$sql);
if($res && mysqli_affected_rows($this->link)){
return mysqli_affected_rows($this->link);
}else{
return false;
}
} //关闭数据库连接
public function __destruct()
{
mysqli_close($this->link);
} } $host = '127.0.0.1';
$user = 'root';
$password = 'root';
$dbname = '1903a';
$port = '3306'; $db = new DB($host,$user,$password,$dbname,$port); $name = $_POST['name'];
$sex = $_POST['sex'];
$age = $_POST['age']; if(empty($name)){
echo "姓名不能为空";
exit();
}
$name_reg = "/^[\x{4e00}-\x{9fa5}]{2,6}$/u";
if(!preg_match($name_reg,$name)){
echo "用户名格式不正确";
} //增加
$data = [
'name'=> 'zhangsan',
'age' => '18',
'sex' => 1
];
//$res = $db->insert('user',$data); //查询
//$sql = "select * from user";
//$data = $db->getAll($sql); //删除
//$id = 9;
//$where = "id=$id";
//$res = $db->delete('user',$where); //更新
//$data = [
// 'name'=> 'lisi',
// 'age' => 10,
// 'sex' => 2
//];
//$id = '10';
//$where = "where id=$id";
//$res = $db->update('user',$data,$where);
//var_dump($res);
?>
MySQL-DB-封装-简易版的更多相关文章
- mysql性能优化-简易版
mysql性能优化 sql语句优化 如何发现有问题的sql? 开启mysql慢查询 show variables like 'slow_query_log' set global slow_query ...
- 基于 Mysql 实现一个简易版搜索引擎
前言 前段时间,因为项目需求,需要根据关键词搜索聊天记录,这不就是一个搜索引擎的功能吗? 于是我第一时间想到的就是 ElasticSearch 分布式搜索引擎,但是由于一些原因,公司的服务器资源比较紧 ...
- Python模拟简易版淘宝客服机器人
对于用Python制作一个简易版的淘宝客服机器人,大概思路是:首先从数据库中用sql语句获取相关数据信息并将其封装成函数,然后定义机器问答的主体函数,对于问题的识别可以利用正则表达式来进行分析,结合现 ...
- 学生管理系统(SSM简易版)总结
之前用 Servlet + JSP 实现了一个简易版的学生管理系统,在学习了 SSM 框架之后,我们来对之前写过的项目重构一下! 技术准备 为了完成这个项目,需要掌握如下技术: Java 基础知识 前 ...
- 深入理解Mybatis(第一讲)——手写ORM框架(简易版Mybatis)
我们来自定义一个持久层框架,也就是Mybatis的简易版. 使用端的搭建 idea中新建maven工程IPersistence_test: 在resources目录下新建sqlMapConfig.xm ...
- 闭关修炼180天--手写持久层框架(mybatis简易版)
闭关修炼180天--手写持久层框架(mybatis简易版) 抛砖引玉 首先先看一段传统的JDBC编码的代码实现: //传统的JDBC实现 public static void main(String[ ...
- Java 语言实现简易版扫码登录
基本介绍 相信大家对二维码都不陌生,生活中到处充斥着扫码登录的场景,如登录网页版微信.支付宝等.最近学习了一下扫码登录的原理,感觉蛮有趣的,于是自己实现了一个简易版扫码登录的 Demo,以此记录一下学 ...
- .NET Core的文件系统[5]:扩展文件系统构建一个简易版“云盘”
FileProvider构建了一个抽象文件系统,作为它的两个具体实现,PhysicalFileProvider和EmbeddedFileProvider则分别为我们构建了一个物理文件系统和程序集内嵌文 ...
- 简易版自定义BaseServlet
这几天在学Java Web,一直在思考Servlet重用的问题,就用java的反射机制实现自定义的简易版BaseServlet; 该方式有点像struts2 利用映射获取前端的参数.有兴趣的同学可以自 ...
- Android学习之路——简易版微信为例(三)
最近好久没有更新博文,一则是因为公司最近比较忙,另外自己在Android学习过程和简易版微信的开发过程中碰到了一些绊脚石,所以最近一直在学习充电中.下面来列举一下自己所走过的弯路: (1)本来打算前端 ...
随机推荐
- [学习笔记]Linux环境下部署 .Net5 程序
公司的项目需要部署到一台公网的linux服务器,以便同事们测试小程序. 目标服务器是新搭建的CentOS 8虚拟机,以非docker的方式部署.现记录过程便于日后部署至项目甲方的服务器上,因为甲方的 ...
- JVM学习四:深入分析ClassLoader
一.什么是ClassLoader? 大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程 ...
- 【Java】equals()与hashCode()方法详解 (转)
java.lang.Object类中有两个非常重要的方法: 1 2 public boolean equals(Object obj) public int hashCode() Object类是类继 ...
- NSMutableString常用方法
1.NSMutableString常用方法 - (void)appendString:(NSString *)aString; 拼接aString到最后面 NSMutableString *strM ...
- 抽象修饰符abstract
描述一类事物的时候发现该类存在一种行为,但不知道行为具体怎么实现,我们将这种行为称之为抽象行为,这时候我们就需要抽象类 抽象类的好处:抽象类中的抽象方法一定要备子类重写 抽象类注意点: 1.在类中,一 ...
- Docker镜像实战(ssh、systemctl、nginx、tomcat、mysql)
Docker镜像实战 1.构建ssh镜像 2.构建systemctl 镜像 3.构建nginx镜像 4.构建tomcat镜像 5.构建mysql镜像 1.构建ssh镜像: 创建镜像目录 mkdir / ...
- ios真机弱网测试
一.开启苹果手机开发者选项 首先你需要将iPhone和一台Mac电脑相连接,然后在Mac上打开Xcode开发工具,此时你iPhone的设置里就会出现"开发者"这个选项了. 二.进入 ...
- SQL代码规范
1. 建表规约 1) 表中字段名称 a) 表达是否概念的字段,必须使用is_xxx的方式命名,数据类型是bit b) 小数类型为decimal,禁止使用float和double. 说 ...
- tarjan——有向图、无向图
强连通块只存在于有向无环图DAG中 实际上low[i]的理解是:一个强连通块在dfs搜索树中子树的根节点 //把一个点当成根提溜出来,抖搂抖搂成一棵树 void dfs(int u) { //记录df ...
- Springboot原理
1. SpringBoot特点 一个starter导入所有 依赖管理 父项目做依赖管理:声明了所需依赖的版本号 依赖管理 <parent> <groupId>org.sprin ...