php实现的简单数据库操作Model类


Posted in PHP onNovember 16, 2016

本文实例讲述了php实现的简单数据库操作Model类。分享给大家供大家参考,具体如下:

该数据库模型类可实现数据库的增删改查,简化数据库操作。

1. config.php代码:

<?php
 define("HOSTNAME","127.0.0.1");
 define("USERNAME","root");
 define("PASSWORD","");
 define("DATANAME","class");

2. 使用代码:

<?php
 /*
  作者:shyhero
  */
 require("./config.php");
 class Model{
  private $link;
  //构造函数,初始化数据库连接
  public function __construct(){
   $this -> link = mysqli_connect(HOSTNAME,USERNAME,PASSWORD,DATANAME) or die("数据库连接失败");
   mysqli_set_charset($this -> link,"utf8");
  }
  //查找 1.表名 2.条件 3.值 如果不添加条件或者值,就全部查询
  public function find($table="",$key="",$value=""){
   if(!$key||!$value){
    $sql = "select * from {$table}";
   }else{
    $sql = "select * from {$table} where {$key} = '{$value}'";
   }
   $res = mysqli_query($this -> link,$sql);
   $arr = mysqli_fetch_all($res,MYSQLI_ASSOC);
   mysqli_free_result($res);
   return $arr;
  }
  //增加 1.表名 2.需要插入的字段 3.值1
  public function ins($table="",$zd="name,score",$value=""){
   $arr = explode(",",$value);
   $str = "";
   foreach($arr as $k => $v){
    $str .= "'".$v."'".",";
   }
   $str = rtrim($str,",");
   $sql = "insert into {$table}({$zd})values({$str})";
   $res = mysqli_query($this -> link,$sql);
   return mysqli_insert_id($this -> link);
  }
  //修改 1.表名 2.修改字段 3.值 4.条件 5.值
  public function upd($table="",$key="",$value="",$key2="",$value2=""){
   $sql = "update {$table} set {$key}='{$value}' where {$key2}='{$value2}'";
   $res = mysqli_query($this -> link,$sql);
   return mysqli_affected_rows($this -> link);
  }
  //删除 1.表名 2.条件 3.值
  public function del($table="",$key="",$value=""){
   $sql = "delete from {$table} where {$key}='{$value}'";
   $res = mysqli_query($this -> link,$sql);
   return mysqli_affected_rows($this -> link);
  }
  //析构函数
  public function __destruct(){
   if(isset($res))
    mysqli_free_result($res);
   mysqli_close($this -> link);
  }
 }
 $m = new Model();
 //var_dump($m -> find("stu","id"));
 var_dump($m -> ins("stu","name","zhu"));
 //var_dump($m -> upd("stu","name","dujianing","id","1"));
 //var_dump($m -> del("stu","name","li"));
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP个人网站架设连环讲(三)
Oct 09 PHP
计算2000年01月01日起到指定日的天数
Oct 09 PHP
PHP中的MYSQL常用函数(php下操作数据库必备)
Sep 12 PHP
php中调用其他系统http接口的方法说明
Feb 28 PHP
Laravel框架数据库CURD操作、连贯操作总结
Sep 03 PHP
php插入含有特殊符号数据的处理方法
Nov 24 PHP
PHP生成唯一ID之SnowFlake算法
Dec 17 PHP
php防止sql注入的方法详解
Feb 20 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
Dec 26 PHP
Laravel中10个有用的用法小结
May 06 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
Jan 02 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
Aug 07 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
Nov 16 #PHP
PHP中串行化用法示例
Nov 16 #PHP
PHP单态模式简单用法示例
Nov 16 #PHP
php实现替换手机号中间数字为*号及隐藏IP最后几位的方法
Nov 16 #PHP
php实现当前页面点击下载文件的实例代码
Nov 16 #PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
Nov 16 #PHP
PHP Header失效的原因分析及解决方法
Nov 16 #PHP
You might like
php设置编码格式的方法
2013/03/05 PHP
php简单统计字符串单词数量的方法
2015/06/19 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
JS中如何设置readOnly的值
2013/12/25 Javascript
jQuery中$.get、$.post、$.getJSON和$.ajax的用法详解
2014/11/19 Javascript
javascript去除空格方法小结
2015/05/21 Javascript
JS实现从连接中获取youtube的key实例
2015/07/02 Javascript
javascript实现二级级联菜单的简单制作
2015/11/19 Javascript
js为什么不能正确处理小数运算?
2015/12/29 Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
2016/04/18 Javascript
原生js实现可拖动的登录框效果
2017/01/21 Javascript
详解nodejs微信公众号开发——5.素材管理接口
2017/04/11 NodeJs
jquery动态添加以及遍历option并获取特定样式名称的option方法
2018/01/29 jQuery
利用Dectorator分模块存储Vuex状态的实现
2019/02/05 Javascript
vue与iframe之间的信息交互的实现
2020/04/08 Javascript
Python读取一个目录下所有目录和文件的方法
2016/07/15 Python
Python序列操作之进阶篇
2016/12/08 Python
pandas string转dataframe的方法
2018/04/11 Python
Python实战之制作天气查询软件
2019/05/14 Python
python Django中models进行模糊查询的示例
2019/07/18 Python
使用 Django Highcharts 实现数据可视化过程解析
2019/07/31 Python
python实现的爬取电影下载链接功能示例
2019/08/26 Python
HTML5+CSS3 诱人的实例:3D立方体旋转动画实例
2016/12/30 HTML / CSS
HTML5 图片悬停放大的实现代码示例
2019/12/04 HTML / CSS
俄罗斯汽车零件和配件在线商店:CarvilleShop
2019/11/29 全球购物
企业面试题试卷附带答案
2015/12/20 面试题
测控技术与通信工程毕业生自荐信范文
2013/12/28 职场文书
花店创业计划书范文
2014/02/07 职场文书
2014年大学庆元旦迎新年活动方案
2014/03/09 职场文书
个人投资计划书
2014/05/01 职场文书
祖国在我心中的演讲稿
2014/05/04 职场文书
python实现批量提取指定文件夹下同类型文件
2021/04/05 Python
详解Redis主从复制实践
2021/05/19 Redis
WebWorker 封装 JavaScript 沙箱详情
2021/11/02 Javascript
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫
Elasticsearch6.2服务器升配后的bug(避坑指南)
2022/09/23 Servers