• 封装类【未完】


    一、数据库的封装和引用

      之前写代码都是通过mysql取结果写的,这样写的缺点是每次要用数据时都需要写sql语句,并且要写很多份,而且当数据库换了,或者密码改了就需要修改每一个文件里的和mysql有关的参数,结果会很复杂。下面就把数据库的操作封装成一个类,每一次操作的时候去调用封装的类。

      以后就用封装类的方法写,防止换数据库、换电脑、或者是放到服务器上以后直接从封装的类里面更改数据库名称,用户名、密码等。就不需要改页面里的内容了。

     1.查询语句

    第1步:建一个封装类的文件DBDA.class.php下面的语句是从自己封装类里面复制来的

    <?php
    //建一个封装类的文件DBDA.class.php
    
    class DBDA//定义一个类,类名为DBDA
    {
        public $host="localhost";//4个比较常用的参数:服务器地址
        public $uid="root";//用户名
        public $pdw="";//密码
        public $dbname="306";//数据库名称
        
        //封装方法
        //1.返回二维数组的方法
      
        *给一个sql语句,返回执行的结果
        用户指定的sql语句
        $sql用户给的语句类型,0代表增删改,1代表查询。一般查询使用的比较多,让$type的默认值为1.如果是增删改再改$type的值。
        $arr数组返回查询的结果,如果是查询,返回二维数组。如果是增删改,返回$result。
        
    返回数组函数 function Query($sql,$type=1) { //造连接对象 $db = new MySQLi("$this->host","$this->uid","$this->pdw","$this->dbname"); //执行sql语句 $result = $db->query("$sql"); //从结果集对象里取数据。查询单独做一个方法,其它做另一个方法。 if($type==1)//如果是查询 { return $result->fetch_all();//返回查询的二维数组 } else//如果是增删改 { return $result;//返回$result }   }
        

        //返回字符串的方法
        public function StrQuery($sql,$type=1)
        {
          $db = new MySQLi($this->host,$this->uid,$this->password,$this->dbname);
          $r = $db->query($sql);

        if($type==1)
        {
          $attr = $r->fetch_all();
          $str = "";
          foreach($attr as $v)
        {
          $str .= implode("^",$v)."|"; //拼接数组为字符串   $ttr.= implode("^",$v)."|"  是$str=$str.implode("^",$v)."|"       .=和+=  -=用法一样
        }

          return substr($str,0,strlen($str)-1); //截取字符串:最后的拼接符不显示

        }
        else
        {
          return $r;
        }  
      }

    
      ?>
    第2步:将封装的类引用到页面中
    <?php
    require "DBDA.class.php";//将封装的类引入此页面
    $db = new DBDA();//新建一个对象
    $sql = "select * from info";
    $arr=$db->Query($sql);//第2个参数不写的话就是查询,因为默认值是1.
    $db->Query($sql,0) //有参数0就表示是增删改语句
    ?>


























  • 相关阅读:
    pyspark 基本api使用说明(一)
    584. 寻找用户推荐人
    Spring IOC 容器源码分析(了解模板方法--钩子方法在spring中的使用)
    Mybatis事务创建和管理
    Mybatis源码分析执行流程总结
    设计模式之责任链模式
    设计模式之外观模式(门面模式)以及如何利用到接口设计中
    如何在聚合支付平台,巧用模板+工厂设计模式来实现异步回调
    浅谈设计模式之代理设计模式
    Java线上问题排查思路
  • 原文地址:https://www.cnblogs.com/cyd123/p/6841565.html
Copyright © 2020-2023  润新知