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 相关文章推荐
E路文章系统PHP
Dec 11 PHP
php基础知识:类与对象(2) 自动加载对象
Dec 13 PHP
php之对抗Web扫描器的脚本技巧
Oct 01 PHP
PHP生成Flash动画的实现代码
Mar 12 PHP
PHP异步调用socket实现代码
Jan 12 PHP
PHP 类相关函数的使用详解
May 10 PHP
如何用php获取文件名后缀
Jun 09 PHP
关于crontab的使用详解
Jun 24 PHP
PHP函数之日期时间函数date()使用详解
Sep 09 PHP
php获取qq用户昵称和在线状态(实例分析)
Oct 27 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
Aug 31 PHP
php将html转为图片的实现方法
May 19 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 array_map()数组函数使用说明
2011/07/12 PHP
php用正则表达式匹配URL的简单方法
2013/11/12 PHP
PHP中new static()与new self()的比较
2016/08/19 PHP
PHP中功能强大却很少使用的函数实例小结
2016/11/10 PHP
php与c 实现按行读取文件实例代码
2017/01/03 PHP
使用户点击后退按钮使效三行代码
2007/07/07 Javascript
jQuery 动态酷效果实现总结
2009/12/27 Javascript
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
鼠标选择动态改变网页背景颜色的JS代码
2013/12/10 Javascript
js实现获取焦点后光标在字符串后
2014/09/17 Javascript
JavaScript设计模式之单件模式介绍
2014/12/28 Javascript
javascript与PHP动态往类中添加方法对比
2018/03/21 Javascript
nodejs中request库使用HTTPS代理的方法
2019/04/30 NodeJs
vue.js的状态管理vuex中store的使用详解
2019/11/08 Javascript
高效jQuery选择器的5个技巧实例分析
2019/11/26 jQuery
JS document内容及样式操作完整示例
2020/01/14 Javascript
Vue实现兄弟组件间的联动效果
2020/01/21 Javascript
vue中jsonp插件的使用方法示例
2020/09/10 Javascript
Nest.js环境变量配置与序列化详解
2021/02/21 Javascript
Python中atexit模块的基本使用示例
2015/07/08 Python
Python 迭代器与生成器实例详解
2017/05/18 Python
小白入门篇使用Python搭建点击率预估模型
2018/10/12 Python
python的set处理二维数组转一维数组的方法示例
2019/05/31 Python
Python基础学习之函数方法实例详解
2019/06/18 Python
python函数与方法的区别总结
2019/06/23 Python
对Python中class和instance以及self的用法详解
2019/06/26 Python
详解一种用django_cache实现分布式锁的方式
2019/09/01 Python
python orm 框架中sqlalchemy用法实例详解
2020/02/02 Python
Python 代码调试技巧示例代码
2020/08/11 Python
Python在后台自动解压各种压缩文件的实现方法
2020/11/10 Python
顶丰TOPPIK台湾官网:增发纤维假发,告别秃发困扰
2018/06/13 全球购物
店铺转让协议书
2014/12/02 职场文书
三好学生评选事迹材料(2016精选版)
2016/02/25 职场文书
React Hook用法示例详解(6个常见hook)
2021/04/28 Javascript
解决flex布局中子项目尺寸不受flex-shrink限制
2022/05/11 HTML / CSS