[TOC] ## 二、Db类的静态方法connect() * 创建一张数据表:tp5_staff (命名规则:数据库名 _ 表名) * 表中内容如下: ![](https://box.kancloud.cn/289e13ef0dbc2d1ce3101bc5612111e2_898x775.png) * 静态方法:指不需要实例化对象,直接用类调用的方法; * 功能:完成数据库初始化,并取得数据库实例; * 备注:该方法为静态方法,可被该类所有实例(对象)所共享; ![](https://box.kancloud.cn/25bcccdb68e056ac542609a7f5e413b8_982x597.png) * 该方法,根据参数不同,有二种实现方案: #### 1、数组作为参数 * 我们现在工作在:app/index/controller/Index 控制器的index方法; * 文件位置:/application/index/controller/Index.php; * 控制器Index文件内容: ~~~ <?php namespace app\index\controller; use think\Db; use think\Debug; class Index{ public function index(){ //设置数据库配置参数数组 $dbConfig = [ // 数据库类型 'type' => 'mysql', // 数据库连接DSN配置 'dsn' => '', // 服务器地址 'hostname' => 'localhost', // 数据库名 'database' => 'tp5', // 数据库用户名 'username' => 'root', // 数据库密码 'password' => 'root', // 数据库连接端口 'hostport' => '3306', // 数据库连接参数 'params' => [], // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => 'tp5_', ]; //将配置数组做为connect()的参数传入 $result=Db::connect($dbConfig) //创建数据库连接 ->table('tp5_staff') //选择数据表 ->select(); //输出结果集 //以二维数据方式返回结果集 Debug::dump($result); } } ~~~ * * * * * #### 2、字符串做为参数 * 基本格式:数据库类型://用户名:密码@数据库地址:数据库端口/数据库名\#字符集 * 文件位置:/application/index/controller/Index.php * 控制器Index文件内容: ~~~ <?php namespace app\index\controller; use think\Db; use think\Debug; class Index{ public function index(){ //数据库连接配置字符串 $dbConfig = 'mysql://root:root@localhost:3306/tp5#utf8'; //将配置字符串做为connect()的参数传入 $result=Db::connect($dbConfig) //创建数据库连接 ->table('tp5_staff') //选择数据表 ->select(); //输出结果集 //以二维数据方式返回结果集 Debug::dump($result); } } ~~~ * 以上二种参数传入connect()方法后,查询结果是完全一样的: ![](https://box.kancloud.cn/d141f5399fc1481673e2bb03c50c792e_760x761.png) #### 总结: > 1、数组方式配置:可以设置更多的信息,如表前缀等; 2、字符串方式配置:只可设置必须的连接信息,简洁、灵活。