戳缎貉钢魂耗孙褐回冲拐经官
数据库tp5中的表staff结构:
注意:在创建表字段时,double类型不要设置长度!!!
数据库的静态配置
1.复制创建database.php,复制:D:\phpStudy\PHPTutorial\WWW\tp5\application\database.php
中的代码到database.php中即可
<?php return [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => '127.0.0.1', // 数据库名 'database' => 'tp5', // 用户名 'username' => 'root', // 密码 'password' => 'root', // 端口 'hostport' => '', // 连接dsn 'dsn' => '', // 数据库连接参数 'params' => [], // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => '', // 数据库调试模式 'debug' => true, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器) 'deploy' => 0, // 数据库读写是否分离 主从式有效 'rw_separate' => false, // 读写分离后 主服务器数量 'master_num' => 1, // 指定从服务器序号 'slave_no' => '', // 是否严格检查字段是否存在 'fields_strict' => true, // 数据集返回类型 'resultset_type' => 'array', // 自动写入时间戳字段 'auto_timestamp' => false, // 时间字段取出后的默认时间格式 'datetime_format' => 'Y-m-d H:i:s', // 是否需要进行SQL性能分析 'sql_explain' => false, ];
D:\phpStudy\PHPTutorial\WWW\tp5\application\index\controller\Index.php:
<?php namespace app\index\controller; use think\Db; class Index { public function index() { return "萌面人资料铺"; } public function demo() { //1.获取数据库的连接实例 $link=Db::connect(); //2.使用连接实例调用查询类的查询方法 $result=$link->table('staff')->select(); //输出查询结果 dump($result); } }
执行:
动态配置,将数据库配置文件改名,使静态配置失效
执行:
D:\phpStudy\PHPTutorial\WWW\tp5\application\index\controller\Index.php:
<?php namespace app\index\controller; use think\Db; class Index { public function index() { return "萌面人资料铺"; } public function demo() { $config=[ // 数据库类型 'type'=> 'mysql', // 服务器地址 'hostname'=> '127.0.0.1', // 数据库名 'database'=> 'tp5', // 用户名 'username'=> 'root', // 密码 'password'=> 'root', ]; //1.获取数据库的连接实例 $link=Db::connect($config); //2.使用连接实例调用查询类的查询方法 $result=$link->table('staff')->select(); //输出查询结果 dump($result); } }
执行:
D:\phpStudy\PHPTutorial\WWW\tp5\application\index\controller\Index.php:
<?php namespace app\index\controller; use think\Db; class Index { public function index() { return "萌面人资料铺"; } public function demo() { $config="mysql://root:root@127.0.0.1:3306/tp5#utf8"; //1.获取数据库的连接实例 $link=Db::connect($config); //2.使用连接实例调用查询类的查询方法 $result=$link->table('staff')->select(); //输出查询结果 dump($result); } }
执行:
实际开发中,连接器是自动调用的
实际开发请使用下面这种方法
<?php return [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => '127.0.0.1', // 数据库名 'database' => 'tp5', // 用户名 'username' => 'root', // 密码 'password' => 'root', // 端口 'hostport' => '', // 连接dsn 'dsn' => '', // 数据库连接参数 'params' => [], // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => '', // 数据库调试模式 'debug' => true, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器) 'deploy' => 0, // 数据库读写是否分离 主从式有效 'rw_separate' => false, // 读写分离后 主服务器数量 'master_num' => 1, // 指定从服务器序号 'slave_no' => '', // 是否严格检查字段是否存在 'fields_strict' => true, // 数据集返回类型 'resultset_type' => 'array', // 自动写入时间戳字段 'auto_timestamp' => false, // 时间字段取出后的默认时间格式 'datetime_format' => 'Y-m-d H:i:s', // 是否需要进行SQL性能分析 'sql_explain' => false, ];
D:\phpStudy\PHPTutorial\WWW\tp5\application\index\controller\Index.php:
<?php namespace app\index\controller; use think\Db; class Index { public function index() { return "萌面人资料铺"; } public function demo() { $result=Db::table('staff')->select(); dump($result); } }
执行:
因为代码简单,还可以继续简化
D:\phpStudy\PHPTutorial\WWW\tp5\application\index\controller\Index.php:
<?php namespace app\index\controller; use think\Db; class Index { public function index() { return "萌面人资料铺"; } public function demo() { dump(Db::table('staff')->select()); } }
执行:
裁儒释铣挤跺惫奋漂粒接钝磋