zoukankan      html  css  js  c++  java
  • tp5数据库链接

    1在config/database.php中配置

    1.1直接

    return [
        // 数据库类型
        'type'            => 'mysql',
        // 服务器地址
        'hostname'        => '127.0.0.1',
        // 数据库名
        'database'        => 'hainan',
        // 用户名
        'username'        => 'root',
        // 密码
        'password'        => 'root',
        // 端口
        'hostport'        => '',
        // 连接dsn
        'dsn'             => '',
        // 数据库连接参数
        'params'          => [],
        // 数据库编码默认采用utf8
        'charset'         => 'utf8',
        // 数据库表前缀
        'prefix'          => 'dl_',
        // 数据库调试模式
        'debug'           => true,
        // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
        'deploy'          => 0,
        // 数据库读写是否分离 主从式有效
        'rw_separate'     => false,
        // 读写分离后 主服务器数量
        'master_num'      => 1,
        // 指定从服务器序号
        'slave_no'        => '',
        // 自动读取主库数据
        'read_master'     => false,
        // 是否严格检查字段是否存在
        'fields_strict'   => true,
        // 数据集返回类型
        'resultset_type'  => 'array',
        // 自动写入时间戳字段
        'auto_timestamp'  => false,
        // 时间字段取出后的默认时间格式
        'datetime_format' => 'Y-m-d H:i:s',
        // 是否需要进行SQL性能分析
        'sql_explain'     => false,
    ];

    1.2Env配置

    use thinkEnv;
    return [
        // 数据库类型
        'type'            => 'mysql',
        // 服务器地址
        'hostname'        => Env::get('database.hostname','127.0.0.1'),
        // 数据库名
        'database'        => Env::get('database.database','cp'),
        // 用户名
        'username'        => Env::get('database.username','root'),
        // 密码
        'password'        => Env::get('database.password','root'),
        // 端口
        'hostport'        => Env::get('database.hostport','3306'),
        // 连接dsn
        'dsn'             => '',
        // 数据库连接参数
        'params'          => [],
        // 数据库编码默认采用utf8
        'charset'         => Env::get('database.charset','utf8'),
        // 数据库表前缀
        'prefix'          => Env::get('database.prefix','dl_'),
        // 数据库调试模式
        '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,
    ];

    .env文件中

    app_debug =  true
    app_trace =  false
    
    //cache   = redis
    
    [database]
    hostname =  127.0.0.1
    database =  hainan
    username =  root
    password =  root
    hostport =  3306
    charset  =  utf8
    prefix   =  dl_

    2在模型中定义$connection属性设置当前模型对应数据库的链接

    class AdminNav extends Base{
        //5.0不支持单独设置当前模型的数据表前缀。 database.php文件里设置'prefix'=>'dl_',
    
        //默认主键为自动识别,如果需要指定,可以设置属性
        //protected $pk = 'id';
    
        //模型会自动对应数据表,模型类的命名规则是除去表前缀的数据表名称,采用驼峰法命名,并且首字母大写
        //AdminNav  自动对应到 表前缀(dl)_admin_nav  如不是这张表则用$table申明该模型类数据表
        protected $table = 'dl_right';
    
        // 设置当前模型的数据库连接
        protected $connection = [
            // 数据库类型
            'type'        => 'mysql',
            // 服务器地址
            'hostname'    => '127.0.0.1',
            // 数据库名
            'database'    => 'admindemo',
            // 数据库用户名
            'username'    => 'root',
            // 数据库密码
            'password'    => 'root',
            // 数据库编码默认采用utf8
            'charset'     => 'utf8',
            // 数据库表前缀
            'prefix'      => 'dl_',
            // 数据库调试模式
            'debug'       => false,
        ];
    }

    3、控制器中直接申明

      namespace appindexcontroller;
        use thinkDb;
        class Index extends Controller
        {
            public function demo(Request $res)
            {
                Db::connect([
                  // 数据库类型
                 'type'            => 'mysql',
                  // 服务器地址
                  'hostname'        => '127.0.0.1',
                  // 数据库名
                 'database'        => 'hainan',
                  // 用户名
                  'username'        => 'root',
                  // 密码
                  'password'        => 'root',
                  // 端口
                  'hostport'        => '',
                 // 连接dsn
                  'dsn'             => '',
                  // 数据库连接参数
                  'params'          => [],
                  // 数据库编码默认采用utf8
                  'charset'         => 'utf8',
                  // 数据库表前缀
                  'prefix'          => 'dl_',
                  // 数据库调试模式
                  'debug'           => true,
                  // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
                  'deploy'          => 0,
                  // 数据库读写是否分离 主从式有效
                  'rw_separate'     => false,
                  // 读写分离后 主服务器数量
                  'master_num'      => 1,
                  // 指定从服务器序号
                  'slave_no'        => '',
                  // 自动读取主库数据
                  'read_master'     => false,
                  // 是否严格检查字段是否存在
                  'fields_strict'   => true,
                  // 数据集返回类型
                  'resultset_type'  => 'array',
                  // 自动写入时间戳字段
                  'auto_timestamp'  => false,
                  // 时间字段取出后的默认时间格式
                  'datetime_format' => 'Y-m-d H:i:s',
                   // 是否需要进行SQL性能分析
                  'sql_explain'     => false,
                ]);
                //或者使用字符串
                Db::connect('mysql://root:root@127.0.0.1:3306/dl_#utf8');
            }
        }
  • 相关阅读:
    BZO4197 & 洛谷2150 & UOJ129:[NOI2015]寿司晚宴——题解
    BZOJ4198 & 洛谷2168 & UOJ130:[NOI2015]荷马史诗——题解
    BZOJ4651 & 洛谷1173 & UOJ220:[NOI2016]网格——题解(附debug数据)
    BZOJ4653 & 洛谷1712 & UOJ222:[NOI2016]区间——题解
    BZOJ4898 & BZOJ5367 & 洛谷3778:[APIO2017]商旅——题解
    BZOJ5340 & 洛谷4564 & LOJ2552:[CTSC2018]假面——题解
    举例分析 Makefile 中的 patsubst、wildcard、notdir 函数
    伪指令 ENTRY 与 END
    伪指令 ADR 与 LDR 的区别
    μC/OS-II 信号量集
  • 原文地址:https://www.cnblogs.com/lichihua/p/10404333.html
Copyright © 2011-2022 走看看