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 pcntl_fork和pcntl_fork 的用法
Apr 13 PHP
PHP echo,print,printf,sprintf函数之间的区别与用法详解
Nov 27 PHP
PHP命名空间(Namespace)简明教程
Jun 11 PHP
PHP实现的简单mock json脚本分享
Feb 10 PHP
WIFI万能钥匙密码查询接口实例
Sep 28 PHP
PHP封装的MSSql操作类完整实例
May 26 PHP
PHP中多线程的两个实现方法
Oct 14 PHP
php数组指针操作详解
Feb 14 PHP
PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图
May 15 PHP
PHP开发的微信现金红包功能示例
Jun 29 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
Jan 23 PHP
php模拟实现斗地主发牌
Apr 22 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
dedecms采集中可以过滤多行代码的正则表达式
2007/03/17 PHP
php中jQuery插件autocomplate的简单使用笔记
2012/06/14 PHP
PHP整合PayPal支付
2015/06/11 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
2015/07/15 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
2016/09/09 PHP
学习ExtJS TextField常用方法
2009/10/07 Javascript
有趣的javascript数组定义方法
2010/09/10 Javascript
jquery弹窗插件colorbox绑定动态生成元素的方法
2014/06/20 Javascript
JavaScript实现节点的删除与序号重建实例
2015/08/05 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
2016/01/13 Javascript
详解JavaScript对象序列化
2016/01/19 Javascript
jQuery使用getJSON方法获取json数据完整示例
2016/09/13 Javascript
js实现购物车功能
2018/06/12 Javascript
jQuery pjax 应用简单示例
2018/09/20 jQuery
vue router 组件的高级应用实例代码
2019/04/08 Javascript
jQuery实现全选、反选和不选功能的方法详解
2019/12/04 jQuery
Vue Object 的变化侦测实现代码
2020/04/15 Javascript
Python单体模式的几种常见实现方法详解
2017/07/28 Python
Python实现查看系统启动项功能示例
2018/05/10 Python
python一行sql太长折成多行并且有多个参数的方法
2018/07/19 Python
对Python3中dict.keys()转换成list类型的方法详解
2019/02/03 Python
对Django的restful用法详解(自带的增删改查)
2019/08/28 Python
安装2019Pycharm最新版本的教程详解
2019/10/22 Python
python删除某个目录文件夹的方法
2020/05/26 Python
在keras里面实现计算f1-score的代码
2020/06/15 Python
通过CSS3的object-fit来调整图片适配尺寸的技巧简介
2016/02/27 HTML / CSS
CSS3 实现倒计时效果
2020/11/25 HTML / CSS
10个最常见的HTML5面试题 附答案
2016/06/06 HTML / CSS
英国现代市场:ARKET
2019/04/10 全球购物
六十岁生日答谢词
2014/01/10 职场文书
出国英文推荐信
2014/05/10 职场文书
学习经验演讲稿
2014/05/10 职场文书
群众路线剖析材料怎么写
2014/10/09 职场文书
上课说话检讨书
2015/01/27 职场文书
小学班主任工作经验交流材料
2015/11/02 职场文书
Python Flask搭建yolov3目标检测系统详解流程
2021/11/07 Python