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 相关文章推荐
The specified CGI application misbehaved by not returning a complete set of HTTP headers
Mar 31 PHP
php设计模式 Delegation(委托模式)
Jun 26 PHP
利用PHP+JS实现搜索自动提示(实例)
Jun 09 PHP
Function eregi is deprecated (解决方法)
Jun 21 PHP
php+mysql实现无限分类实例详解
Jan 15 PHP
php实现文本数据导入SQL SERVER
May 17 PHP
PHP批量去除BOM头内容信息代码
Mar 11 PHP
Zend Framework基本页面布局分析
Mar 19 PHP
Yii数据库缓存实例分析
Mar 29 PHP
PHP自定义函数格式化json数据示例
Sep 14 PHP
PHP实现的策略模式示例
Mar 20 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
Sorting Array Values in PHP(数组排序)
2011/09/15 PHP
Linux下PHP安装mcrypt扩展模块笔记
2014/09/10 PHP
phalcon框架使用指南
2016/02/23 PHP
浅析PHP中的闭包和匿名函数
2017/12/25 PHP
js返回上一页并刷新代码整理
2012/12/21 Javascript
修改js Calendar日历控件 兼容IE9/谷歌/火狐
2013/01/04 Javascript
javascript 禁用IE工具栏,导航栏等等实现代码
2013/04/01 Javascript
js判断文本框剩余可输入字数的方法
2015/02/04 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
2015/08/07 Javascript
jQuery动态生成表格及右键菜单功能示例
2017/01/13 Javascript
关于不同页面之间实现参数传递的几种方式讨论
2017/02/13 Javascript
js实现简单的手风琴效果
2017/02/27 Javascript
VUE开发一个图片轮播的组件示例代码
2017/03/06 Javascript
设置cookie指定时间失效(实例代码)
2017/05/28 Javascript
JS滚动到指定位置导航栏固定顶部
2017/07/03 Javascript
JS实现移动端按首字母检索城市列表附源码下载
2017/07/05 Javascript
JavaScript门面模式详解
2017/10/19 Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
2019/05/23 jQuery
js实现mp3录音通过websocket实时传送+简易波形图效果
2020/06/12 Javascript
[40:31]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
用Python实现命令行闹钟脚本实例
2016/09/05 Python
python为Django项目上的每个应用程序创建不同的自定义404页面(最佳答案)
2020/03/09 Python
浅谈Django QuerySet对象(模型.objects)的常用方法
2020/03/28 Python
django 数据库返回queryset实现封装为字典
2020/05/19 Python
使用py-spy解决scrapy卡死的问题方法
2020/09/29 Python
CSS3教程(8):CSS3透明度指南
2009/04/02 HTML / CSS
CSS3 实现的缩略图悬停效果
2020/12/09 HTML / CSS
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
盛大笔试题
2016/11/05 面试题
学校食堂采购员岗位职责
2013/12/05 职场文书
syb养殖创业计划书
2014/01/09 职场文书
2015年学校关工委工作总结
2015/04/03 职场文书
简爱电影观后感
2015/06/10 职场文书
交通安全主题班会
2015/08/12 职场文书
python实现高效的遗传算法
2021/04/07 Python
总结几个非常实用的Python库
2021/06/26 Python