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>
复制代码
posted @ 2016-11-15 14:39  带你疯  阅读(137)  评论(0编辑  收藏  举报