PHP框架中配置多个数据库连接

摘要:laravel、TP3.2

TP中配置多个数据库连接

1、config.php中进行配置

if(APP_DEBUG){
    return array(
        'DB_TYPE'               =>  'sqlsrv',
        'DB_HOST'               =>  '127.0.0.1',
        'DB_NAME'               =>  'xxx',
        'DB_USER'               =>  'xxx',
        'DB_PWD'                =>  'xxx$',
        'DB_PORT'               =>  'xxx',
         'DB_TWO' => array(
            'DB_TYPE'               =>  'sqlsrv',
            'DB_HOST'               =>  'xxx',
            'DB_NAME'               =>  'xxx',
            'DB_USER'               =>  'xxx',
            'DB_PWD'                =>  'xxx',
            'DB_PORT'               =>  'xxx',
         ),

2、代码中使用

 M('table','prefix','DB_TWO')

laravel中配置多数据库

1、配置.env文件

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database_name
DB_USERNAME=root
DB_PASSWORD=

DB_HOST_CENTER=127.0.0.1
DB_PORT_CENTER=3306
DB_DATABASE_CENTER=database_center
DB_USERNAME_CENTER=root
DB_PASSWORD_CENTER=

2、配置config/database.php

'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', 'localhost'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'charset' => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix' => '',
        'strict' => false,
        'engine' => null,
],
'mysql_center' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST_CENTER', 'localhost'),
        'port' => env('DB_PORT_CENTER', '3306'),
        'database' => env('DB_DATABASE_CENTER', 'forge'),
        'username' => env('DB_USERNAME_CENTER', 'forge'),
        'password' => env('DB_PASSWORD_CENTER', ''),
        'charset' => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix' => '',
        'strict' => false,
        'engine' => null,
],

3、创建model

a、这个model将采用默认的'mysql'连接
class UserModel extends Model
{
        // 数据库'database'中的users表
        protected $table = "users";
}

b、 这个model将使用mysql_center连接
class UserModel extends Model
{
    // 数据库'dadtabase_center'中的users表
        protected $connection = 'mysql_center';
        protected $table = "users";

}
评论
  • 2018-12-05 15:17:32 by Eric Guo
    TP在操作sqlserver的时候注意大小写,数据库表名在代码里面都用小写的否则会框架会吧大写自动转换成下滑行的形式