php加数据库开发案例,PHP简单数据库操作类实例【支持增删改查及链式操作】
本文实例讲述了PHP简单数据库操作类。分享给大家供大家参考,具体如下:
在进行项目开发时,数据库是必不可少的东西了。但是很多时候却又对数据库SQL语句的繁杂而感到头疼。提供一个我自己使用的数据库操作类(模型Model),供大家使用。支持增、删、改、查,支持链式操作,代码不到100行,非常小巧方便,很适合小项目的快速部署使用。
/**
*
* @Authot: summer
*
* @E-mail: wenghang1228@me.com
*
* @Data: 2015-02-06
*
* @Project: 数据库操作类Model
*
* @Version:1.0
*
* @版权所有:夏天的风————记录夏天对技术的追求与生活的热爱
*
* @网址: http://www.xtwind.com
**/
class Model{
public $field;
public $tabname;
public $where;
public $order;
public $limit;
//构造函数,链接数据库,给表赋值
function __construct($tabname){
mysql_connect(HOST,USER,PASSWORD);
mysql_select_db(DBNAME);
mysql_query("set names utf8");
$this->tabname=$tabname;
}
//组合字段
function field($field){
$this->$field=$field;
return $this;
}
//组合where条件
function where($where){
$this->where="where ".$where;
return $this;
}
//组合order排序条件
function order($order){
$this->order="order by ".$order;
return $this;
}
//组合limit限制条数
function limit($limit){
$this->limit="limit ".$limit;
return $this;
}
//组合和执行select语句
function select($all=""){
if ($all) {
$sql="select {$all} from {$this->tabname} order by id";
}else{
$sql="select {$this->filed} from {$this->tabname} {$this->where} {$this->order} {$this->limit}";
}
$rst=mysql_query($sql);
while ($row=mysql_fetch_assoc($rst)) {
$rows[]=$row;
}
return $rows;
}
//组合和执行insert语句
function insert($post){ //数据库插入操作,接收数组
foreach ($post as $key => $value) {
$keys[]=$key;
$vals[]="'".$valu."'";
}
$keyStr=join(",",$keys);
$valStr=join(",",$vals);
$sql="insert into {$this->tabname}($keystr) values()";
if (mysql_query($sql)) {
return mysql_insert_id();
}else{
return false;
}
}
//组合和执行delect语句
function delect(){
$sql="delect from {$this->tabname} {$this->where}";
if (mysql_query($sql)) {
return mysql_affected_rows();
}else{
return false;
}
}
//组合和执行updata语句
function update($post){
foreach ($psot as $key => $value) {
$sets[]="{$key}='{$val}'";
}
$setStr=join(",",$sets);
$sql="update {$this->tabname} set {$setStr} {$this->where} ";
if (mysql_query($sql)) {
return mysql_affected_rows();
}else{
return false;
}
}
//从表中取一行数据
function find(){
if ($this->order) {
$sql="select * from {$this->tabname} {$this->order} limit 1";
}else{
$sql="select * from {$this->tabname} order by id limit 1";
}
$rst=mysql_query($sql);
while ($row=mysql_fetch_assoc($rst)) {
$rows[]=$row;
}
return $rows;
}
//获取总行数
function total(){
$sql="select count(*) from {$this->tabname}";
$rst=mysql_query($sql);
if ($rst) {
$row=mysql_fetch_row($rst);
return $row[0];
}else{
return false;
}
}
}
//Model类对象工厂
function M($tabname){
return new Model($tabname);
}
define("HOST","localhost");
define("USER", "root");
define("PASSWORD", "123456");
define("DBNAME", "test")
$user=new Model("user");
$user->field("id,name")->where("id=3")->order("id desc")->limit("3")->select();
完整实例代码点击此处本站下载。
希望本文所述对大家PHP程序设计有所帮助。
php加数据库开发案例,PHP简单数据库操作类实例【支持增删改查及链式操作】相关推荐
- c#利用反射+特性实现简单的实体映射数据库操作类实现自动增删改查(一)
///对字段特性的映射类 using System; using System.Collections.Generic; using System.Linq; using System.Text; u ...
- 30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用
2016年时,Jerry曾经写过一系列关于SAP Fiori Smart Template(现在更名为Fiori Elements了)的博客,介绍了所谓的MDD开发方法论 - Metadata Dri ...
- 如何基于Restful ABAP Programming模型开发并部署一个支持增删改查的Fiori应用
Jerry之前的文章30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用 发布之后,有朋友问我,"没错, 我是在你的文章里看到了Fiori应用的 ...
- 大话PHP设计模式:类自动载入、PSR-0规范、链式操作、11种面向对象设计模式实现和使用、OOP的基本原则和自动加载配置...
一.类自动载入 SPL函数 (standard php librarys) 类自动载入,尽管 __autoload() 函数也能自动加载类和接口,但更建议使用 spl_autoload_registe ...
- MongoDBC++开发(四)bsoncxx::builder::stream::document的增删改查操作
2. mongocxx 续上一篇,接着看一下mongocxx中的文件有些什么. 先看一下基本的增删改查操作: 2.1 connect.cpp 数据库的链接 参见之前的博客. 2.2 create.cp ...
- Zookeeper后端开发工具Curator的使用 | Curator对节点的增删改查 | ACL权限控制 | 分布式锁 | 分布式计数器 | 附带最新版本下载
前言 Curator是Apache开源的一个Java工具类,通过它操作Zookeeper会变得极度舒适! 前置条件:已掌握的基本操作,比如在后台可以增减节点.ACL权限设置等. 1.Zookeeper ...
- jsp mysql简单登录_简单的登录页面,实现增删改查运用jsp/servlet和mysql数据库免费分享...
属性 大小 日期 时间 名称 ----------- --------- ---------- ----- ---- 文件 455 2012 ...
- mysql数据库员工表创建_mysql数据库简单练习(创建表格,增删改查数据)
1.创建一个员工表 字段 属性 id 整形(int) name 字符串(varchar)(长度为20) gender 字符串(长度为2) birthday 日期型 ...
- mysql数据库创建员工表_mysql数据库简单练习(创建表格,增删改查数据)
1.创建一个员工表 字段 属性 id 整形(int) name 字符串(varchar)(长度为20) gender 字符串(长度为2) birthday 日期型 ...
最新文章
- 面试官问:select......for update会锁表还是锁行?
- HDU2196[树形dp+二次扫描]java和c++版本题解
- Netbeans搭建Android环境
- [MySQL] - 返回影响行数
- HDU 1542:Atlantis(扫描线+线段树 矩形面积并)***
- 18.外部相机校准——旋转(Rotation),R是什么样子的,绕Z轴旋转的例子,齐次坐标旋转_2
- 人工智能被拒绝,语音识别做不到给电视直播加字幕?
- windows程序设计之简单界面入门
- 国内android源码下载网站
- 应该如何写详细设计文档
- 网页常用字体 【参考】
- WPS简历模板的图标怎么修改_160套个人求职简历模板精美套装,修改内容直接套用...
- 篆刻学简体——第一章
- 阿里巴巴大数据之路-数据整合管理体系
- 使用Markdown如何修改图片大小
- vue.js+muse-ui制作在线简历编辑
- bugku-秋名山老司机
- 简述igp和egp_igp egp
- ip.php是什么意思,有人频繁试探云主机的 ip_js. PHP 是什么操作?
- 敬业签云便签提示“基础连接已关闭,发送时发生错误!”如何解决
热门文章
- Java基础——String类(二)
- 201521123050 《Java程序设计》第8周学习总结
- 注解描述(持续更新)
- 关于AE大数据点文件读取生成SHP文件时使用IFeatureBuffer快速提高读取效率
- 去除android2.1移动设备3G图标
- 彻底解决Python3写爬虫或网站时的乱码问题
- linux 系统 cp: omitting directory 问题解决
- C#------引用System.Data.Entity后DbContext依然无法继承解决方法
- 解决CentOS出现“No package redis available“提示问题
- C++对带有分隔符的字符串 分割为数字的通用解决方案