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)本来打算前端 ...
随机推荐
- 记录常见的问题:encodeURICompnent 解码过程中出现空格 以及 第三方app中使用schema 唤起app
window.location.href 跳转的时候使用了encodeURIComponent编码了部分参数,但是在第三方app中出现了编码过后的参数换行和空格的情况(部分第三方应用或者java程序) ...
- js静态成员和实例成员
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- HttpClient的NoHttpResponse问题
调用第三方接口时会报NoHttpResponse异常,原因是上次的连接已经断掉了,但是客户端并未知道,复用上次连接就报错了,所以要解决这个问题,就是要校验上次链接是否断掉了 1. httpCl ...
- VC 为程序创建唯一标识
转载请注明来源:https://www.cnblogs.com/hookjc/ 应用: 一台机器上只许运行一个客户端 同一个账号只允许登陆一个客户端 BOOl m_IsRun=false; HANDL ...
- HTTP缓存协议实战
一.什么是缓存 缓存,又称作Cache,我们把临时存储数据的地方叫做缓存池,缓存池里面放的数据就叫做缓存.当用户需要使用这些数据,首先在缓存中寻找,如果找到了则直接使用.如果找不到,则再去其他数据源中 ...
- 聚类算法在 D2C 布局中的应用
1.摘要 聚类是统计数据分析的一门技术,在许多领域受到广泛的应用,包括机器学习.数据挖掘.图像分析等等.聚类就是把相似的对象分成不同的组别或者更多的子集,从而让每个子集的成员对象都有相似的一些属性. ...
- Spring MVC参数绑定(如何接收请求参数及返回参数)
在SpringMVC interceptor案例实践中遇到了获取jsp表单传递参数失败的问题,怎么的解决的呢?下面详细介绍. 先讲述下https://www.cnblogs.com/ilovebath ...
- ios开发 Rsa签名 base64转码
因为公司要求做了一个加密 网上的资料少有可用的 于是我看到了一位大神的曙光 但是未介绍使用方法 然后另一位大神给予了使用方法 但是没有把库给出来 我整理了一下 希望大家看的有些启发 证书生成 ...
- IDEA中快速排除maven中的依赖
选中该模块 点击show dependenties 切换试图 选中要排除的依赖,右击 选择Execlude,然后选择需要在哪个模块添加排除依赖 完成
- 从.net开发做到云原生运维(二)——.net core生态
1. 新的开始从.net 6.0开始 .net 6.0作为一个长期支持版,具有里程碑的意义.从.net5.0将.net framework和.net core合并以后,在.net5.0的功能上再次完善 ...