亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP模型Model類封裝數據庫操作示例

2024-05-05 00:07:26
字體:
來源:轉載
供稿:網友

本文實例講述了PHP模型Model類封裝數據庫操作。分享給大家供大家參考,具體如下:

<?php  //引入配置文件  include "./config.php";  class Model  {    public $link;//存儲連接對象    public $tableName = "";//存儲表名    public $field = "*";//存儲字段    public $allFields = [];//存儲當前表所有字段    public $where = "";//存儲where條件    public $order = "";//存儲order條件    public $limit = "";//存儲limit條件    /**     * 構造方法 初始化     * @param string $tableName 要操作的表名     */    public function __construct($tableName)    {      //1.存儲操作的表名      $this->tableName = PRE.$tableName;      //2.初始化連接數據庫      $this->getConnect();      //3.獲得當前表的所有字段      $this->getFields();    }    /**     * 初始化連接數據庫操作     */    public function getConnect()    {      //1.連接數據庫      $this->link = mysqli_connect(HOST,USER,PWD,DB,PORT);      //2.判斷連接      if (mysqli_connect_errno($this->link)>0){        echo mysqli_connect_error($this->link);        exit;      }    }    /**     * 執行并發送SQL(查詢)     * @param string $sql 要查詢的SQL語句     * @return array 返回查詢出來的二維數組     */    public function query($sql)    {      $result = mysqli_query($this->link,$sql);      if ($result && mysqli_num_rows($result)>0) {       $arr = [];       while($row = mysqli_fetch_assoc($result)){          $arr[] = $row;       }      }    return $arr;    }    /**     * 獲取當前表的所有字段     */    public function getFields()    {      //查看表結構      $sql = "desc {$this->tableName}";      //執行并發送SQL      $result = $this->query($sql);      $fields = [];      foreach ($result as $k => $v){        $fields[] = $v['Field'];      }      $this->allFields = $fields;    }    /**     * 執行并發送SQL語句(增刪改)     * @param string $sql 要執行的SQL語句     * @return bool|int|string 添加成功則返回上一次操作id,刪除修改操作則返回true,失敗則返回false     */    public function exec($sql)    {      $result = mysqli_query($this->link,$sql);      //處理結果集      if ($result && mysqli_affected_rows($this->link)>0){        //判斷是否為添加操作,是則返回上一次執行的id        if (mysqli_insert_id($this->link)){          return mysqli_insert_id($this->link);        }        //刪除修改操作成功則返回true        return true;      }else{        //未執行成功則返回false        return false;      }    }    /**     * 查詢多條數據     */    public function select()    {      $sql = "select {$this->field} from {$this->tableName} {$this->where} {$this->order} {$this->limit}";      //執行并發送SQL      return $this->query($sql);    }    /**     * 查詢一條數據     * @param string $id 要查詢的id     * @return array 返回一條數據     */    public function find($id="")    {      //判斷id是否存在      if (empty($id)){        $where = $this->where;      }else{        $where = "where id={$id}";      }      $sql = "select {$this->field} from {$this->tableName} {$where} limit 1";      //執行并發送sql      $result = $this->query($sql);      //返回一條數據      return $result[0];    }    /**     * 設置要查詢的字段信息     * @param string $field 要查詢的字段     * @return object 返回自己,保證連貫操作     */    public function field($field)    {      //判斷字段是否存在      if (empty($field)){        return $this;      }      $this->field = $field;      return $this;    }    /**     * 統計總條數     * @return int 返回總數     */    public function count()    {      //準備SQL語句      $sql = "select count(*) as total from {$this->tableName} limit 1";      $result = $this->query($sql);      //返回總數      return $result[0]['total'];    }    /**     * 添加操作     * @param array $data 要添加的數組     * @return bool|int|string 添加成功則返回上一次操作的id,失敗則返回false     */    public function add($data){      //判斷是否是數組      if (!is_array($data)){        return $this;      }      //判斷是否全是非法字段      if (empty($data)){        die("非法數據");      }      //過濾非法字段      foreach ($data as $k => $v){        if (!in_array($k,$this->allFields)){          unset($data[$k]);        }      }      //將數組中的鍵取出      $keys = array_keys($data);      //將數組中取出的鍵轉為字符串拼接      $key = implode(",",$keys);      //將數組中的值轉化為字符串拼接      $value = implode("','",$data);      //準備SQL語句      $sql = "insert into {$this->tableName} ({$key}) values('{$value}')";      //執行并發送SQL      return $this->exec($sql);    }    /**     * 刪除操作     * @param string $id 要刪除的id     * @return bool 刪除成功則返回true,失敗則返回false     */    public function delete($id="")    {      //判斷id是否存在      if (empty($id)){        $where = $this->where;      }else{        $where = "where id={$id}";      }      $sql = "delete from {$this->tableName} {$where}";      echo $sql;      //執行并發送      return $this->exec($sql);    }    /**     * 修改操作     * @param array $data 要修改的數組     * @return bool 修改成功返回true,失敗返回false     */    public function update($data){      //判斷是否是數組      if (!is_array($data)){        return $this;      }      //判斷是否是全是非法字段      if(empty($data)){        die("非法數據");      }      $str = "";      //過濾非法字段      foreach ($data as $k => $v){        if ($k == "id"){          $where = "where id={$v}";          unset($data[$k]);        }        if (in_array($k,$this->allFields)){          $str .= "{$k}='{$v}',";        }else{          unset($data[$k]);        }      }      //判斷是否有條件      if (empty($this->where)){        die("請輸入條件");      }      //去掉最右側的逗號      $str = rtrim($str,",");      $sql = "update {$this->tableName} set {$str} {$this->where}";      return $this->exec($sql);    }    /**     * where條件     * @param string $where 輸入的where條件     * @return $this 返回自己,保證連貫操作     */    public function where($where)    {      $this->where = "where ".$where;      return $this;    }    /**     * order排序條件     * @param string $order 以此為基準進行排序     * @return $this 返回自己,保證連貫操作     */    public function order($order)    {      $this->order = "order by ".$order;      return $this;    }    /**     * limit條件     * @param string $limit 輸入的limit條件     * @return $this 返回自己,保證連貫操作     */    public function limit($limit)    {      $this->limit = "limit ".$limit;      return $this;    }    /**     * 析構方法     * 關閉數據庫連接     */    public function __destruct()    {      mysqli_close($this->link);    }  } //自行調試 $a = new Model("表名"); // var_dump($a->find(3)); // var_dump($a->select());  // var_dump($a->count());  // $res = $a->select();  //var_dump($res);?>

 

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91国产一区在线| 国产精品2018| 欧美日韩在线观看视频| 91在线观看免费高清完整版在线观看| 青草热久免费精品视频| 久热精品视频在线免费观看| 欧美又大粗又爽又黄大片视频| 国产精品亚洲自拍| 欧美在线亚洲一区| 中文字幕九色91在线| 亚洲最大福利网| 日韩欧美中文第一页| 国内成人精品一区| 亚洲无av在线中文字幕| 欧美日韩在线看| 国产精品美女在线观看| 精品久久久999| 91欧美日韩一区| 日韩精品免费电影| 狠狠综合久久av一区二区小说| 国产亚洲精品91在线| 久久精品小视频| 国产91在线播放| 亚洲字幕在线观看| 欧美日韩高清区| 国产精品一区专区欧美日韩| 亚洲国产高清福利视频| 国产丝袜一区二区三区| 国产中文欧美精品| 欧美一级淫片aaaaaaa视频| 欧美伦理91i| 国产mv免费观看入口亚洲| 91美女高潮出水| 亚洲新中文字幕| 久久精品视频在线| 亚洲一级黄色av| 日韩a**站在线观看| 色综合91久久精品中文字幕| 日韩视频中文字幕| 亚洲级视频在线观看免费1级| 亚洲xxxx视频| 国产精品电影在线观看| 精品欧美一区二区三区| 国产精品国产三级国产专播精品人| 久久国产精品久久久久| 中文字幕日韩在线视频| 欧美日韩在线看| www.久久色.com| 97精品视频在线播放| 欧美日韩一区二区三区在线免费观看| 日韩一区二区精品视频| 成人欧美一区二区三区黑人孕妇| 国产精品视频在线观看| 亚洲午夜精品久久久久久性色| 国产欧美日韩综合精品| 亚洲a成v人在线观看| 欧美综合一区第一页| 亚洲欧美另类国产| 国产精品美女在线观看| 国产成人+综合亚洲+天堂| 亚洲精品久久久久中文字幕欢迎你| 亚洲欧美国内爽妇网| 欧美超级乱淫片喷水| 国产精品18久久久久久麻辣| 国产精品日本精品| 亚洲理论在线a中文字幕| 国产精品视频久久久久| 亚洲激情自拍图| 久久久久久成人| 欧美一区二区三区图| 亚洲黄色有码视频| 懂色aⅴ精品一区二区三区蜜月| 欧美天天综合色影久久精品| 欧美日韩国产123| 全球成人中文在线| 国产精品久久久久久婷婷天堂| 欧美激情精品久久久| 亚洲精品之草原avav久久| 最近2019中文字幕大全第二页| 久久久中文字幕| 亚洲精品99999| 亚洲欧美中文在线视频| 久久久这里只有精品视频| 色播久久人人爽人人爽人人片视av| 国产精品久久久久久av福利软件| 色yeye香蕉凹凸一区二区av| 欧美最猛性xxxxx亚洲精品| 国产69精品久久久久9| 欧美福利视频在线| 国产成人久久久精品一区| 国产日韩精品在线观看| 亚洲人午夜色婷婷| 97精品一区二区三区| 欧美日韩中文字幕日韩欧美| 成人精品网站在线观看| 国产精品视频久久久| 欧美午夜视频一区二区| 91黑丝在线观看| 中文日韩电影网站| 伊人成人开心激情综合网| 日韩国产高清视频在线| 成人性教育视频在线观看| 久久精品视频中文字幕| 高清欧美一区二区三区| 精品欧美激情精品一区| 久久综合色影院| 综合av色偷偷网| 日韩av最新在线| 亚洲黄页网在线观看| 欧美激情精品久久久久久免费印度| 国语自产精品视频在线看| 日韩精品一区二区视频| 91性高湖久久久久久久久_久久99| 992tv成人免费视频| 国产成人精品优优av| 九九精品在线观看| 国内精品模特av私拍在线观看| 国产精品午夜视频| 亚洲自拍偷拍色片视频| 色琪琪综合男人的天堂aⅴ视频| 日韩av有码在线| 在线观看日韩欧美| 九九九久久国产免费| 欧亚精品中文字幕| 97视频在线观看免费| 国产99久久精品一区二区永久免费| 日韩中文字幕视频在线| 欧美电影免费观看| 日韩电影中文字幕| 欧美激情性做爰免费视频| 亚洲另类xxxx| 欧美在线影院在线视频| 亚洲福利视频网站| 久久九九国产精品怡红院| 日韩在线小视频| 国产欧美一区二区三区在线| 日韩欧美在线中文字幕| 欧美国产视频一区二区| 日韩美女写真福利在线观看| 两个人的视频www国产精品| 国产亚洲欧洲黄色| 在线视频欧美日韩| 一区二区欧美亚洲| 国产日韩视频在线观看| 欧美孕妇与黑人孕交| 岛国av一区二区在线在线观看| 久久久久久久av| 福利精品视频在线| 92国产精品久久久久首页| 亚洲男人的天堂网站| 亚洲色图18p| 久久香蕉频线观| 国产精品视频免费观看www| 亚洲国产精品va在线看黑人动漫| 91在线观看免费高清完整版在线观看| 欧美精品中文字幕一区| 亚洲japanese制服美女| 欧美性视频精品| 国产精品成人在线| 91精品国产91久久久| 国产精品成av人在线视午夜片| 日韩欧美在线免费| 日韩精品极品在线观看播放免费视频| 亚洲欧美激情四射在线日|