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&amp;MYSQL留言板源码
Jul 19 PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
Feb 13 PHP
PHP连接MySQL的2种方法小结以及防止乱码
Mar 11 PHP
php读取大文件示例分享(文件操作类)
Apr 13 PHP
PHP CURL 多线程操作代码实例
May 13 PHP
PHP获取数组的键与值方法小结
Jun 13 PHP
PHP常用函数总结(180多个)
Dec 25 PHP
PHP实现验证码校验功能
Nov 16 PHP
浅析PHP开发规范
Feb 05 PHP
PHP中通过getopt解析GNU C风格命令行选项
Nov 18 PHP
Laravel框架控制器,视图及模型操作图文详解
Dec 04 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
May 26 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 win下Socket方式发邮件类
2009/08/21 PHP
php中将一个对象保存到Session中的方法
2015/03/13 PHP
PHP文件操作实例总结
2016/09/27 PHP
PHP PDO操作MySQL基础教程
2017/06/05 PHP
php微信公众号开发之二级菜单
2018/10/20 PHP
PHP-FPM的配置与优化讲解
2019/03/15 PHP
Laravel框架控制器的middleware中间件用法分析
2019/09/30 PHP
兼容IE和Firefox火狐的上下、左右循环无间断滚动JS代码
2013/04/19 Javascript
jQuery写fadeTo示例代码
2014/02/21 Javascript
用javascript对一个json数组深度赋值示例
2014/07/27 Javascript
DOM节点删除函数removeChild()用法实例
2015/01/12 Javascript
JS实现带缓冲效果打开、关闭、移动一个层的方法
2015/05/09 Javascript
AngularJS通过$location获取及改变当前页面的URL
2016/09/23 Javascript
Boostrap实现的登录界面实例代码
2016/10/09 Javascript
jQuery实现模拟flash头像裁切上传功能示例
2016/12/11 Javascript
jQuery内存泄露解决办法
2016/12/13 Javascript
详解JavaScript调用栈、尾递归和手动优化
2017/06/03 Javascript
JS实现的找零张数最小问题示例
2017/11/28 Javascript
微信小程序配置服务器提示验证token失败的解决方法
2019/04/03 Javascript
nodejs二进制与Buffer的介绍与使用
2019/07/11 NodeJs
layui表单提交到后台自动封装到实体类的方法
2019/09/12 Javascript
解决小程序无法触发SESSION问题
2020/02/03 Javascript
Vue与React的区别和优势对比
2020/12/18 Vue.js
基于vue的video播放器的实现示例
2021/02/19 Vue.js
python中pandas.DataFrame排除特定行方法示例
2017/03/12 Python
Python学习笔记之列表推导式实例分析
2019/08/13 Python
python groupby 函数 as_index详解
2019/12/16 Python
python绘制雪景图
2019/12/16 Python
Python导入父文件夹中模块并读取当前文件夹内的资源
2020/11/19 Python
python 邮件检测工具mmpi的使用
2021/01/04 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
2021/01/28 Python
HTML5中的音频和视频媒体播放元素小结
2016/01/29 HTML / CSS
中科方德软件测试面试题
2016/04/21 面试题
寄语学生的话
2014/04/10 职场文书
自主招生学校推荐信
2014/09/26 职场文书
解决jupyter notebook图片显示模糊和保存清晰图片的操作
2021/04/24 Python