zoukankan      html  css  js  c++  java
  • 11.3 开课一个月零三十天 (数据库封装和引用)

    第1步:建一个封装类的文件DBDA.class.php

    复制代码
    <?php
    //建一个封装类的文件DBDA.class.php
    
    class DBDA//定义一个类,类名为DBDA
    {
        public $host="localhost";//4个比较常用的参数:服务器地址
        public $uid="root";//用户名
        public $pdw="666";//密码
        public $dbname="toupiao";//数据库名称
        
        //封装方法
        //1.返回二维数组的方法
        /**
        *给一个sql语句,返回执行的结果
        *@param string $sql 用户指定的sql语句
        *@param int $sql用户给的语句类型,0代表增删改,1代表查询。一般查询使用的比较多,让$type的默认值为1.如果是增删改再改$type的值。
        *@return array 返回查询的结果,如果是查询,返回二维数组。如果是增删改,返回$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
            }
        }
    }
    复制代码

    第2步:将封装的类引用到页面中

    复制代码
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    
    <body>
    <?php
    include("DBDA.class.php");//将封装的类引入此页面
    $db = new DBDA();//新建一个对象
    $sql = "select * from info";
    var_dump($db->Query($sql));//第2个参数不写的话就是查询,因为默认值是1.
    ?>
    </body>
    </html>
    复制代码

    如果是增删改,结果返回boolean flase

    复制代码
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    
    <body>
    复制代码
    <?php
    include("DBDA.class.php");//将封装的类引入此页面
    $db = new DBDA();//新建一个对象
    /*$sql = "select * from info";
    var_dump($db->Query($sql));//第2个参数不写的话就是查询,因为默认值是1.*/
    $sql = "update info set name='杨宁波' where code='p001'";
    var_dump($db->Query($sql,0));
    ?>
    复制代码
    </body>
    </html>
    复制代码

    让输出结果为关联数组

    第1步:封装类

    复制代码
    <?php
    //建一个封装类的文件DBDA.class.php
    
    class DBDA//定义一个类,类名为DBDA
    {
        public $host="localhost";//4个比较常用的参数:服务器地址
        public $uid="root";//用户名
        public $pdw="666";//密码
        public $dbname="text1";//数据库名称
        
        //封装方法
        //1.返回二维数组的方法
        /**
        *给一个sql语句,返回执行的结果
        *@param string $sql 用户指定的sql语句
        *@param int $sql用户给的语句类型,0代表增删改,1代表查询。一般查询使用的比较多,让$type的默认值为1.如果是增删改再改$type的值。
        *@return array 返回查询的结果,如果是查询,返回二维数组。如果是增删改,返回$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
            }
        }
        
        //2.返回关联数组的方法
        /**
        *给一个sql语句,返回关联的二维数组
        *@param string $sql 用户指定的sql语句
        *@param int $sql用户给的语句类型,0代表增删改,1代表查询。一般查询使用的比较多,让$type的默认值为1.如果是增删改再改$type的值。
        *@return array 返回查询的结果,如果是查询,返回二维数组。如果是增删改,返回$result。
        */
        function GuanQuery($sql,$type=1)
        {
            //造连接对象
            $db = new MySQLi($this->host,$this->uid,$this->pdw,$this->dbname);
            
            //执行sql语句
            $result = $db->query($sql);
            
            //取数据
            if($type==1)//如果$type=1
            {
                $attr = array();
                while($a = $result->fetch_assoc())//每次返回一条关联数组,要把它拼成二维数组。
                {
                    $attr[]=$a;//把取到的$a放到数组里面
                }
                return $attr;//返回二维的关联数组
            }
            else
            {
                return $result;//如果$type不等于1,返回$result。
            }
        }
    }
    复制代码

    第2步:将文件引用到页面

    复制代码
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    
    <body>
    复制代码
    <?php
    include("DBDA.class.php");//将封装的类引入此页面
    $db = new DBDA();//新建一个对象
    $sql = "select * from info";
    var_dump($db->GuanQuery($sql));//第2个参数不写的话就是查询,因为默认值是1.
    //$sql = "update info set name='杨宁波' where code='p001'";
    //var_dump($db->Query($sql,0));
    ?>
    复制代码
    </body>
    </html>
    复制代码

    让输出结果为字符串

    第1步:封装类

    复制代码
    <?php
    class DBDA
    {
        public $host="localhost";
        public $uid="root";
        public $pwd="666";
        public $dbname="text1";
        
        /**
        *给一个sql语句,返回执行的结果
        *@param string $sql 用户指定的sql语句
        *@param int $type 用户给的语句类型,0代表增删改,1代表查询
        *@return  返回查询的结果,如果是查询返回二维数组,如果是增删改返回true或false 
        */
        function Query($sql,$type=1)
        {
            //造连接对象
            $db = new MySQLi($this->host,$this->uid,$this->pwd,$this->dbname);
            
            //执行sql语句
            $reslut = $db->query($sql);
            
            //从结果集对象里面取数据
            if($type==1)
            {
                return $reslut->fetch_all();
            }
            else
            {
                return $reslut;
            }
        }
        
        /**
        *给一个sql语句,返回关联的二维数组
        *@param string $sql 用户指定的sql语句
        *@param int $type 用户给的语句类型,0代表增删改,1代表查询
        *@return  返回查询的结果,如果是查询返回二维数组,如果是增删改返回true或false 
        */
        function GuanQuery($sql,$type=1)
        {
            //造连接对象
            $db = new MySQLi($this->host,$this->uid,$this->pwd,$this->dbname);
            
            //执行sql语句
            $reslut = $db->query($sql);
            
            //取数据
            if($type==1)
            {
                $attr = array();
                while($a = $reslut->fetch_assoc())
                {
                    $attr[] = $a;
                }
                
                return $attr;    
            }
            else
            {
                return $reslut;
            }
        }
        /**
        *给一个sql语句,返回字符串
        *@param string $sql 用户指定的sql语句
        *@param int $type 用户给的语句类型,0代表增删改,1代表查询
        *@return  返回查询的结果,如果是查询返回字符串,如果是增删改返回true或false 
        */
        function StrQuery($sql,$type=1)
        {
            //造连接对象
            $db = new MySQLi($this->host,$this->uid,$this->pwd,$this->dbname);
            
            //执行sql语句
            $reslut = $db->query($sql);
            
            //取数据
            if($type==1)
            {
                $attr = $reslut->fetch_all();
                $str="";
                foreach($attr as $v)
                {
                    $str .= implode("^",$v);
                    $str .="|";
                }
                return substr($str,0,strlen($str)-1);
            }
            else
            {
                return $reslut;
            }
        }
    }
    复制代码

    第2步:引用类

    复制代码
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    
    <body>
    复制代码
    <?php
    
    include("DBDA.class.php");//将封装的类引入此页面
    $db = new DBDA();//新建一个对象
    $sql = "select * from info";
    var_dump($db->StrQuery($sql));//第2个参数不写的话就是查询,因为默认值是1.
    //$sql = "update info set name='杨宁波' where code='p001'";
    //var_dump($db->Query($sql,0));
    
    //一个字符串里面包含查到的所有的数据
    
    ?>
    复制代码
    </body>
    </html>
    复制代码
  • 相关阅读:
    匿名对象
    再次安装xampp遇到的各类问题汇总
    jupyter notebook添加Anaconda虚拟环境的python kernel
    1003. 我要通过!
    大数据分析-excel常用技巧
    Jupyter Notebook 修改默认打开的文件夹的位置
    A*算法介绍
    MATLAB常用函数(不定时更新)
    2019数学建模美赛感悟
    Windows许可证即将到期激活教程
  • 原文地址:https://www.cnblogs.com/l5580/p/6065637.html
Copyright © 2011-2022 走看看