PHP实体层基础类

class BaseModel
{
private $tableName;
private $fields=array();
function __construct()
{
$this->tableName=rtrim(get_class($this),'M');
}
function __get($n)
{
return($this->$n);
}
function __set($n, $value)
{
$this->$n = $value;
$this->fields[$n]=$value;
} function Add()
{
$f='';
$f1='';
$arrKeys=array_keys($this->fields);
foreach($arrKeys as $row)
{
$f.=$row.',';
$f1.=':'.$row.',';
}
$f=rtrim($f,',');
$f1=rtrim($f1,',');
$sql='insert into '.$this->tableName.'('.$f.') values('.$f1.')';
//echo $sql;
global $dbh;
return $dbh->edit($sql,$this->fields);
} function Update($sql_where,$params=array())
{
$f='';
$f1='';
$arrKeys=array_keys($this->fields);
foreach($arrKeys as $row)
{
$f.=$row.'=:'.$row.',';
}
$f=rtrim($f,',');
$sql='update '.$this->tableName.' set '.$f.' where '.$sql_where; $arrKeys1=array_keys($params);
foreach($arrKeys1 as $row)
{
$this->fields[$row]=$params[$row];
} global $dbh;
return $dbh->Edit($sql,$this->fields);
} function Delete($sql_where,$params=array())
{
$sql='delete from '.$this->tableName.' where '.$sql_where;
//echo $sql; global $dbh;
return $dbh->Edit($sql,$params);
} }

实体层:

class proM extends BaseModel
{
private $proName;
private $proDetail;
private $proPic;
private $proPic1;
private $proAttr;
private $proTaxis;
private $proIsHome;
private $proIsTJ;
private $proIsCTJ;
private $proIsDel;
private $proAddTime;
private $proisHot;
private $proisPorClass;
private $proisYN;
private $proGL;
private $proSeoT;
private $proSeoK;
private $proSeoD;
private $proBH;
private $FK_proClass;
private $proModel;
private $proPrice;
private $proDiscount;
private $proHit;
private $proURL;
private $proisKdWords;
private $proisKdDone;
private $proFL;
}

使用:

$m=new proM();
$m->proName='代码';
$m->proDetail='php开发';
$m->Update('proID=:proID',array(proID=>1));

PHP实体层基础类的更多相关文章

  1. C# ORM修改实体层

    实体层:[数据库中是么以偶Contents2这个字段的],之所以在实体层添加一个Contents2,是因为: 所以在添加之后: 返回json形式,就用Contents,后台添加就用Contents2. ...

  2. 用EA生成实体层代码

    在个人版机房重构中.实体层的代码敲得有点儿烦了.不同的实体仅仅是命名不同.代码结构全然一样.遇到反复的事情,就该动动脑.想想办法了. 以下给大家介绍使用EA生成实体层的代码. 首先.建一个类,注意选择 ...

  3. ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(3)之创建实体层

    实体层是介于表现层和业务层之间,同时也作为数据载体贯穿了整个项目之间的数据传递,创建实体有很多方法,我们可以手工创建,也可以代码生成引擎等等,我们这里主要应用数据实体模型连接生成: 创建好之后,我们需 ...

  4. JavaWeb项目开发案例精粹-第3章在线考试系统-006实体层

    1. package com.sanqing.po; /* * 学生表,保存学生编号,系统密码 */ public class Student { private String studentID; ...

  5. JavaWeb项目开发案例精粹-第2章投票系统-005实体层

    1. package com.sanqing.bean; /** * * 投票选项类 * */ public class VoteOption { private int voteOptionID; ...

  6. C# .Net中七层架构浅析

    Model实体层,DBUtility数据访问抽象类,IDAL数据访问接口层,SQLServerDAL数据访问层,DALFactory数据访问工厂类,BLL业务逻辑层,UI界面层 一.项目名称及描述:( ...

  7. view, surfaceView, invalidate, postInvalidate, 刷新屏幕

    http://blog.csdn.net/linghu_java/article/details/9985489 1.view view在api中的结构 Java.lang.Object Androi ...

  8. C#简单构架之EF进行读写分离+多数据库(Mysql/SqlService)

    最近因为项目需要,研究了下EF的读写分离,所以做了一个demo进行测试,下面是项目的结构 表现层view 主要提供Web.WebApi等表现层的解决方案 公共层public 主要提供项目公共类库,数据 ...

  9. 权限管理系统之项目框架搭建并集成日志、mybatis和分页

    前一篇博客中使用LayUI实现了列表页面和编辑页面的显示交互,但列表页面table渲染的数据是固定数据,本篇博客主要是将固定数据变成数据库数据. 一.项目框架 首先要解决的是项目框架问题,搭建什么样的 ...

随机推荐

  1. linux统计当前文件夹下所有文件的个数

    ls 加 R 选项表示recursive递归

  2. 为CSDN博客添加打赏功能

    随着移动支付在国内的兴起,越来越多的付费内容越多如雨后春笋般的冒了出来.其中以<逻辑思维>.罗振宇.李笑来为主要代表作品和人物. 现在很多博客或者个人网站里面都有打赏功能,这算是对博主的劳 ...

  3. 为什么使用Sails?

    http://sailsdoc.swift.ren/ 这里有 sails中文文档 http://www.jianshu.com/p/ac2da4142259 前言 入手Node.js半年,从用Expr ...

  4. Linux使用scp命令实现文件的上传和下载

    上传本地/data/project/test.zip 文件至远程服务器192.168.1.2的 /root 目录下,代码如下: scp /home/project/test.zip  root@192 ...

  5. 转Hibernate 一对多关联的CRUD__@ManyToOne(cascade=(CascadeType.ALL))

    一:Group和Users两个类 假定一个组里有n多用户,但是一个用户只对应一个用户组. 1.所以Group对于Users是“一对多”的关联关系@OneToMany Users对于Group是“多对一 ...

  6. Linux 最常用的20条命令

    1.cd命令 这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径.如:   cd /root/Docements # 切 ...

  7. python的数据类型的有序无序

    列表有序可变 字典无序不可变 元组不可变 集合无序不可变 数字不可变 字符串不可变

  8. Linux系统——本地yum仓库安装

    一.yum仓库概述 yum是基于rpm包管理,能够从指定的服务器自动下载rpm包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无需繁琐地一次次下载.安装. 二.yum仓库安装的方式 ...

  9. node的3大作用域

    除了持久性存储外,想要内存也可以存入数据,来做计算什么数据都存入访问一便数据库,效率就太低了 java有3大作用域request 指在一次请求的全过程中有效,即从http请求到服务器处理结束,返回响应 ...

  10. fiddler操作改到本地

    urlreplace test5.api.bookapi.cn:8889 localhost:8080