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. style2paints、deepcolor、sketchkeras项目

    数据集不够怎么办? 1 一些传统的边缘提取算法可以提取图像边缘. 2 这里我们有一个使用神经网络提取线稿图的项目——sketchkeras 源码:https://github.com/lllyasvi ...

  2. 《从零開始搭建游戏server》项目公布到Linux环境

    前言: 之前我们提及了怎样使用Maven来创建.管理和打包项目,也简单过了一遍Linux中搭建Java开发环境的步骤,如今我们就開始将我们之前开发的项目demo公布到Linux环境下.并让它正常执行起 ...

  3. cookie和session的自我介绍

    Cookie是什么? cookie说的直白点就是保存在用户浏览器端的一个键值对,举个例子,你现在登录了京东商城,你把浏览器关闭之后,你再打开京东,你还是可以对你的账户继续操作,已经购买的商品,订单都是 ...

  4. 使用QJM构建HDFS HA架构(2.2+)

    转载自:http://blog.csdn.net/a822631129/article/details/51313145 本文主要介绍HDFS HA特性,以及如何使用QJM(Quorum Journa ...

  5. PHP 基础篇 - PHP 的 BC MATH 系列数学函数

    一.常见问题 用 PHP 做计算时经常会遇到精度带来的问题,下面来看两个常见的例子: 1. 运算比较 下面表达式输出的结果不是相等: <?php echo 2.01 - 0.01 == 2 ? ...

  6. PAT 1116 Come on! Let's C [简单]

    1116 Come on! Let's C (20 分) "Let's C" is a popular and fun programming contest hosted by ...

  7. git pull和git merge区别&&Git冲突:commit your changes or stash them before you can merge. 解决办法

    http://blog.csdn.net/sidely/article/details/40143441 原文: http://www.tech126.com/git-fetch-pull/ Git中 ...

  8. C# 使用 SqlBulkCopy 类批量复制数据到数据库

    最近公司需要优化导入的问题,由于之前使用的方式是生成 Insert 语句插入数据库,数据量小的时候还行,但是随着发展数据量渐渐大了,之前的方法性能就跟不上了,于是发现了 SqlBulkCopy 这个类 ...

  9. 手机端1px细线公共类

    手机端1px细线公共类 .borderBottom1px{ position: relative; } .borderBottom1px:after{ content: ""; p ...

  10. 19. Remove Nth Node From End of List(移除倒数第N的结点, 快慢指针)

    Given a linked list, remove the nth node from the end of list and return its head. For example, Give ...