php教程

超轻量级php框架startmvc

PHP简单数据库操作类实例【支持增删改查及链式操作】

更新时间:2020-03-12 00:17:59 作者:startmvc
本文实例讲述了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 数据库操作类