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 什么是PEAR?(第三篇)
Mar 19 PHP
PHPEXCEL 使用小记
Jan 06 PHP
php while循环得到循环次数
Oct 26 PHP
php session_start()出错原因分析及解决方法
Oct 28 PHP
php实现压缩多个CSS与JS文件的方法
Nov 11 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
Jan 04 PHP
PHP 正则表达式小结
Feb 12 PHP
php使用Image Magick将PDF文件转换为JPG文件的方法
Apr 01 PHP
PHP生成json和xml类型接口数据格式
May 17 PHP
PHP QRCODE生成彩色二维码的方法
May 19 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
Jun 22 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
Jun 16 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
DEDE采集大师官方留后门的删除办法
2011/01/08 PHP
聊聊 PHP 8 新特性 Attributes
2020/08/19 PHP
自动完成JS类(纯JS, Ajax模式)
2009/03/12 Javascript
js中将字符串转换成json的三种方式
2011/01/12 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
2013/04/26 Javascript
jquery上传插件fineuploader上传文件使用方法(jquery图片上传插件)
2013/12/05 Javascript
js读取json的两种常用方法示例介绍
2014/10/19 Javascript
非jQuery实现照片散落桌子上,单击放大的LightBox效果
2014/11/28 Javascript
创建、调用JavaScript对象的方法集锦
2014/12/24 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
2016/05/05 Javascript
JS实现环形进度条(从0到100%)效果
2016/07/05 Javascript
Angularjs中controller的三种写法分享
2016/09/21 Javascript
jQuery利用sort对DOM元素进行排序操作
2016/11/07 Javascript
关于Node.js的events.EventEmitter用法介绍
2017/04/01 Javascript
.net MVC+Bootstrap下使用localResizeIMG上传图片
2017/04/21 Javascript
AngularJS 限定$scope的范围实例详解
2017/06/23 Javascript
JS跳转手机站url的若干注意事项
2017/10/18 Javascript
基于vue+canvas的excel-like组件实例详解
2017/11/28 Javascript
es6新特性之 class 基本用法解析
2018/05/05 Javascript
Vue2.0点击切换类名改变样式的方法
2018/08/22 Javascript
微信小程序结合Storage实现搜索历史效果
2019/05/18 Javascript
javascript实现函数柯里化与反柯里化过程解析
2019/10/08 Javascript
vue中get请求如何传递数组参数的方法示例
2019/11/08 Javascript
JavaScript之Blob对象类型的具体使用方法
2019/11/29 Javascript
jQuery 判断元素是否存在然后按需加载内容的实现代码
2020/01/16 jQuery
Vue使用JSEncrypt实现rsa加密及挂载方法
2020/02/07 Javascript
vue倒计时刷新页面不会从头开始的解决方法
2020/03/03 Javascript
100行Python代码实现自动抢火车票(附源码)
2018/01/11 Python
Python使用指定字符长度切分数据示例
2019/12/05 Python
世界上最具创新性的增强型知名运动品牌:Proviz
2018/04/03 全球购物
阿迪达斯香港官网:adidas香港
2019/11/09 全球购物
Miller Harris官网:英国小众香水品牌
2020/09/24 全球购物
如何处理简单的PHP错误
2015/10/14 面试题
财务管理职业生涯规划范文
2013/12/27 职场文书
优秀护士事迹材料
2014/12/25 职场文书
PyTorch 如何自动计算梯度
2021/05/23 Python