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+mysql数据库操作入门教程》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
赞 (0)