ThinkPHP5数据库实例详解 /Db类静态方法connect()

Db类静态方法connect()

二、Db类的静态方法connect()

  • 创建一张数据表:tp5_staff (命名规则:数据库名 _ 表名)

    • 表中内容如下:

  • 静态方法:指不需要实例化对象,直接用类调用的方法;

  • 功能:完成数据库初始化,并取得数据库实例;

  • 备注:该方法为静态方法,可被该类所有实例(对象)所共享;

  • 该方法,根据参数不同,有二种实现方案:

1、数组作为参数

  • 我们现在工作在:app/index/controller/Index 控制器的index方法;

  • 文件位置:/application/index/controller/Index.php;

  • 控制器Index文件内容:

 '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文件内容:
table('tp5_staff') //选择数据表 ->select(); //输出结果集 //以二维数据方式返回结果集 Debug::dump($result); } }
  • 以上二种参数传入connect()方法后,查询结果是完全一样的:

总结:

1、数组方式配置:可以设置更多的信息,如表前缀等;
2、字符串方式配置:只可设置必须的连接信息,简洁、灵活。