千家信息网

php中model怎么用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍php中model怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php中model的用法:1、创建一个PHP示例文件;2、引入配置文件;3、创建Model
千家信息网最后更新 2026年11月02日php中model怎么用

这篇文章主要介绍php中model怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

php中model的用法:1、创建一个PHP示例文件;2、引入配置文件;3、创建Model类;4、初始化连接数据库操作;5、执行并发送SQL语句;6、通过"new Model("表名");"调试即可。

本文操作环境:Windows7系统、PHP7.4版、DELL G3电脑

php中model的用法是什么?

PHP模型Model类封装数据库操作示例

PHP模型Model类封装数据库操作,结合实例形式分析了php使用mysqli封装的针对数据库操作相关实现与使用技巧:

具体如下:

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中model怎么用"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

数据 字段 数据库 数组 查询 条件 成功 语句 连贯 保证 上一 封装 输入 内容 字符 字符串 总数 文件 模型 示例 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 保险科技 互联网保险 互联网金融监管科技数据 互联网与未来科技 浩特互联网科技 狮子座互联网科技有限公司 时间互联网络科技 深圳天众互联网科技公司 左右互联网络科技 互联网 科技服务平台 科技伦理 互联网公司 广西拼得多互联网科技有限公司 团飞科技与伯堂互联网服务平台 互联网为啥属于高科技 湖南一路畅行互联网科技 互联网科技大奖都有哪些公司 青海科技产业互联网发展 区块链结合互联网科技 广州千川互联网科技有限公司 广州燕处互联网科技有限公司 保山浩联互联网科技有限公司 互联网科技公司名称 中化能源互联网科技招聘 滨湖区互联网智能科技产品有哪些 厦门江牛科技互联网 下一代互联网重大应用科技园 互联网科技机房 湖北辰鑫科技互联网 马化腾互联网科技教学 承德科技产业互联网平台 恒生科技互联网指数十大成分股
0