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 相关文章推荐
一个更简单的无限级分类菜单代码
Jan 16 PHP
php+mysql分页代码详解
Mar 27 PHP
攻克CakePHP系列一 连接MySQL数据库
Oct 22 PHP
php的日期处理函数及uchome的function_coomon中日期处理函数的研究
Jan 12 PHP
解析yahoo邮件用phpmailer发送的实例
Jun 24 PHP
php微信公众平台开发类实例
Apr 01 PHP
整理php防注入和XSS攻击通用过滤
Sep 13 PHP
PHP中FTP相关函数小结
Jul 15 PHP
php实现生成带二维码图片并强制下载功能
Feb 24 PHP
PHP PDO数据库操作预处理与注意事项
Mar 16 PHP
php校验公钥是否可用的实例方法
Sep 17 PHP
使用PHP开发留言板功能
Nov 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 字符串分割和比较
2009/10/06 PHP
国外PHP程序员的13个好习惯小结
2012/02/20 PHP
析构函数与php的垃圾回收机制详解
2013/10/28 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
2014/11/15 PHP
Thinkphp模板标签if和eq的区别和比较实例分析
2015/07/01 PHP
JavaScript 异步调用框架 (Part 1 - 问题 &amp; 场景)
2009/08/03 Javascript
window.js 主要包含了页面的一些操作
2009/12/23 Javascript
对于Form表单reset方法的新认识
2014/03/05 Javascript
js 弹出新页面避免被浏览器、ad拦截的一种新方法
2014/04/30 Javascript
H5移动端适配 Flexible方案
2016/10/24 Javascript
setTimeout学习小结
2017/02/08 Javascript
angularJS利用ng-repeat遍历二维数组的实例代码
2017/06/03 Javascript
浅谈JS中的反柯里化( uncurrying)
2017/08/17 Javascript
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
2017/12/01 Javascript
深入解析ES6中的promise
2018/11/08 Javascript
Vue开发Html5微信公众号的步骤
2019/04/11 Javascript
使用python搭建Django应用程序步骤及版本冲突问题解决
2013/11/19 Python
Python Tkinter简单布局实例教程
2014/09/03 Python
浅谈Python中的数据类型
2015/05/05 Python
python的random模块及加权随机算法的python实现方法
2017/01/04 Python
Python实现树莓派WiFi断线自动重连的实例代码
2017/03/16 Python
将python代码和注释分离的方法
2018/04/21 Python
python实现画一颗树和一片森林
2018/06/25 Python
python Django中models进行模糊查询的示例
2019/07/18 Python
pandas中read_csv、rolling、expanding用法详解
2020/04/21 Python
HTML5 Convas APIs方法详解
2015/04/24 HTML / CSS
为什么UNION ALL比UNION快
2016/03/17 面试题
为什么说Ruby是一种真正的面向对象程序设计语言
2012/10/30 面试题
留学推荐信写作指南
2014/01/25 职场文书
咖啡蛋糕店创业计划书
2014/01/28 职场文书
《莫高窟》教学反思
2014/02/25 职场文书
客户接待方案
2014/02/26 职场文书
我为党旗添光彩演讲稿
2014/09/10 职场文书
个人先进事迹总结
2015/02/26 职场文书
python实现网络五子棋
2021/04/11 Python
解决numpy和torch数据类型转化的问题
2021/05/23 Python