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. replace未全局替换的坑

    今天是名副其实的周六.悠闲了一早上(太阳). 真是人在家中坐,BUG自天上来.哈哈其实也不是自天上来,还是自己之前埋下的雷. 所以修复完线上的bug,我脑中立刻浮现出两件还需要做的事情: 一,就是我现 ...

  2. 前端构建工具gulpjs的使用介绍及技巧(一)

    原文链接:http://www.cnblogs.com/2050/p/4198792.html gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非 ...

  3. 通过virt-manager 利用NFS创建、迁移虚拟机1

    NFS作为一种网络文件系统,近些年随着云计算的发展也变得越来越受欢迎.因为云环境下会部署大量的虚拟机,而在物理机发生故障的时候,云服务商必须要保障虚拟机的安全性,即不能因为物理机的故障就停止虚拟机.这 ...

  4. Python的编码问题(一)

    一.什么是编码 可以说,计算机是一个即聪明又笨蛋的家伙.说它聪明,是因为他可以做很多事情,它的强大无需多说,大家应该都有所了解以及感受.但是为什么说它又是个笨蛋呢,因为我们在电脑上写出的每一个字,保存 ...

  5. html5游戏开发-零基础开发《圣诞老人送礼物》小游戏

    开言: 以前lufy前辈写过叫“ HTML5游戏开发-零基础开发RPG游戏”的系列文章,在那里面我学习了他的引擎以及了解了游戏脚本.自从看了那几篇文章,我便对游戏开发有了基本的认识.今天我也以零基础为 ...

  6. Hadoop2.7.3 HA高可靠性集群搭建

    1.背景介绍 Hadoop2.0.0之前,在一个HDFS集群中,NameNode存在单节点故障(SPOF):因为集群中只有一个NameNode,所以在使用过程中,如果该NameNode出现故障或数据丢 ...

  7. POJ3176:Cow Bowling(数字三角形问题)

    地址:http://poj.org/problem?id=3176 题目解析:没什么好说的,之前上课时老师讲过.从下往上找,每一个三角形的顶点可由两个角加上顶点的值 两种方式得到 ,用dp数组保存下最 ...

  8. PAT 1121 Damn Single[简单]

    1121 Damn Single (25 分) "Damn Single (单身狗)" is the Chinese nickname for someone who is bei ...

  9. mac/linux查询网络端口占用

    参考:http://www.cnblogs.com/kaiye/archive/2013/05/25/3099393.html netstat命令 netstat -an|grep 8080 lsof ...

  10. python文件和目录操作方法

    一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()2.返回指定目录下的所有文件和目 ...