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

5年以前  |  阅读数:372 次  |  编程语言: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();

完整实例代码点击此处[本站下载](http://xiazai.jb51.net/201610/yuanma/mysql-model-class-codes(jb51.net).rar)。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+mysql数据库操作入门教程》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例