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
**/
classModel{
public$field;
public$tabname;
public$where;
public$order;
public$limit;
//构造函数,链接数据库,给表赋值
function__construct($tabname){
mysql_connect(HOST,USER,PASSWORD);
mysql_select_db(DBNAME);
mysql_query("setnamesutf8");
$this->tabname=$tabname;
}
//组合字段
functionfield($field){
$this->$field=$field;
return$this;
}
//组合where条件
functionwhere($where){
$this->where="where".$where;
return$this;
}
//组合order排序条件
functionorder($order){
$this->order="orderby".$order;
return$this;
}
//组合limit限制条数
functionlimit($limit){
$this->limit="limit".$limit;
return$this;
}
//组合和执行select语句
functionselect($all=""){
if($all){
$sql="select{$all}from{$this->tabname}orderbyid";
}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语句
functioninsert($post){//数据库插入操作,接收数组
foreach($postas$key=>$value){
$keys[]=$key;
$vals[]="'".$valu."'";
}
$keyStr=join(",",$keys);
$valStr=join(",",$vals);
$sql="insertinto{$this->tabname}($keystr)values()";
if(mysql_query($sql)){
returnmysql_insert_id();
}else{
returnfalse;
}
}
//组合和执行delect语句
functiondelect(){
$sql="delectfrom{$this->tabname}{$this->where}";
if(mysql_query($sql)){
returnmysql_affected_rows();
}else{
returnfalse;
}
}
//组合和执行updata语句
functionupdate($post){
foreach($psotas$key=>$value){
$sets[]="{$key}='{$val}'";
}
$setStr=join(",",$sets);
$sql="update{$this->tabname}set{$setStr}{$this->where}";
if(mysql_query($sql)){
returnmysql_affected_rows();
}else{
returnfalse;
}
}
//从表中取一行数据
functionfind(){
if($this->order){
$sql="select*from{$this->tabname}{$this->order}limit1";
}else{
$sql="select*from{$this->tabname}orderbyidlimit1";
}
$rst=mysql_query($sql);
while($row=mysql_fetch_assoc($rst)){
$rows[]=$row;
}
return$rows;
}
//获取总行数
functiontotal(){
$sql="selectcount(*)from{$this->tabname}";
$rst=mysql_query($sql);
if($rst){
$row=mysql_fetch_row($rst);
return$row[0];
}else{
returnfalse;
}
}
}
//Model类对象工厂
functionM($tabname){
returnnewModel($tabname);
}
define("HOST","localhost");
define("USER","root");
define("PASSWORD","123456");
define("DBNAME","test")
$user=newModel("user");
$user->field("id,name")->where("id=3")->order("iddesc")->limit("3")->select();
完整实例代码点击此处本站下载。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+mysql数据库操作入门教程》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。