您的位置:首页 > 编程学习 > > 正文

thinkphp5数据库配置(Thinkphp5框架实现获取数据库数据到视图的方法)

更多 时间:2021-10-30 10:54:38 类别:编程学习 浏览量:1846

thinkphp5数据库配置

Thinkphp5框架实现获取数据库数据到视图的方法

本文实例讲述了Thinkphp5框架实现获取数据库数据到视图的方法。分享给大家供大家参考,具体如下:

这是学习thinkhp5的基础篇笔记。

这里主要讲怎么配置数据库链接,以及查询数据库数据,并且最后将数据赋给视图。

数据库配置:

thinkphp5的数据库配置默认在conf下的database.php下面。我的数据库配置项目如下

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • <?php
  •  return [
  •     // 数据库类型
  •     'type'      => 'mysql',
  •     // 数据库连接DSN配置
  •     'dsn'       => '',
  •     // 服务器地址
  •     'hostname'    => '127.0.0.1',
  •     // 数据库名
  •     'database'    => 'course',
  •     // 数据库用户名
  •     'username'    => 'root',
  •     // 数据库密码
  •     'password'    => '',
  •     // 数据库连接端口
  •     'hostport'    => '3306',
  •     // 数据库连接参数
  •     'params'     => [],
  •     // 数据库编码默认采用utf8
  •     'charset'     => 'utf8',
  •     // 数据库表前缀
  •     'prefix'     => 'imooc_',
  •     // 数据库调试模式
  •     'debug'      => false,
  •     // 数据库部署方式: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,
  •     // Builder类
  •     'builder'     => '',
  •     // Query类
  •     'query'      => '\\think\\db\\Query',
  • ];
  • 主要配置的项目是数据库服务器地址hostname,数据库名database,数据库用户名username和数据库密码password,还有一个表前缀prefix。配置之后就可以使用tp5的查询语句查询数据库了。

    查询数据库数据阶段,使用了tp5的模型类,这样就可以直接利用tp5自带的数据库查询方法,下面是model代码

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • <?php
  • namespace app\index\model;
  • use think\Model;
  • class Course extends Model{
  • }
  • 然后将model代码引入到控制器的方法内,使用即可,使用代码如下,使用之前要引入哦

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • <?php
  • namespace app\index\controller;
  • use think\Controller;
  • use app\index\model\Course;
  • //use think\Loader;
  • class Index extends Controller
  • {
  •   public function index()
  •   {
  •      $res=Course::get(2)->toArray();
  •      /*return view("index",[
  •        "email"=>"123456@163.com"
  •      ]);*/
  •      return view("index",$res);
  • }
  • 这样就可以了,哈哈;很多没有交代清楚的地方好像。tp5操作数据库可以有2种方法,具体又分3种方法,两种是使用Db类和继承数据库模型;三种是Db下可以使用tp的查询也可以使用原生的查询。

    需要注意的是,find和select是查询构造器的方法,get和all是模型的方法。但模型又是基于查询构造器的,所以模型可以调用find和select方法,但是查询构造器不能调用get和all方法。

    如果利用Db类的话,上面实现的方式变为

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • <?php
  • namespace app\index\controller;
  • use think\Db;
  • use think\Controller;
  • //use think\Loader;
  • class Index extends Controller
  • {
  •   public function index()
  •   {
  •      $res=Db::table("imooc_course")
  •      ->find(2);
  •      /*return view("index",[
  •        "email"=>"123456@163.com"
  •      ]);*/
  •      return view("index",$res);
  • }
  • 注意的是find方法返回的直接是数组形式了,而不需要再进行数组转化。

    关于tp5操控数据库有很多方法,这里只是记录下查询数据库的基本操作实现。

    希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

    原文链接:https://www.cnblogs.com/zhensg123/p/8805934.html

    您可能感兴趣