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 think\Env;
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 app\index\controller;
    use think\Db;
    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');
        }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM