分类 mysql数据库 下的文章

先贴代码(mysql类部分代码)

public function delDataBase($database){
    if (!$this->con){
        die('数据库连接错误'.mysqli_error($this->con));
    }

    $sql = 'DROP DATABASE if exists '.$database;
    $res = mysqli_query($this->con,$sql);

    //exit(var_dump($res));
    if (!$res){
        die('数据库删除失败'.mysqli_error($this->con));
    }
    echo '数据库'.$database.'删除成功!';
}

调用delDataBase方法,传入一个不存在的数据库,无报错,直接echo数据库xx删除成功,exit(var_dump($res))值为true。
删除数据库的时候如果传值错误,没有仔细检查是否真实删除,很容易留下隐患。
暂时解决思路是:查询出来所有的数据库,然后判断是否含有要删除的数据库

 $sql = 'SHOW DATABASES';
        $res = mysqli_query($this->con,$sql);
        $array = [];
        if ($res){
            $array = mysqli_fetch_all($res,MYSQLI_ASSOC);
        }
        $dbs = [];
        foreach ($array as $k=>$v){
            foreach ($v as $key=>$value){
                $dbs[] = $value;
            }
        }
        return $dbs;