Tp3.2 多数据库链接

配置数据库

return array(
    //数据库配置信息
    'DB_TYPE'   => 'mysql', // 数据库类型
    'DB_HOST'   => $db_host, // 服务器地址
    'DB_NAME'   => $db_name, // 数据库名
    'DB_USER'   => $db_user, // 用户名
    'DB_PWD'    => $db_pwd, // 密码
    'DB_PORT'   => 3306, // 端口
    'DB_PREFIX' => '', // 数据库表前缀
    'DB_CHARSET'=> 'utf8', // 字符集
    'DB_DEBUG'  =>  TRUE, // 数据库调试模式 开启后可以记录SQL日志 3.2.3新增
    'DB_CONFIG2' => array(
        'db_type'  => 'mysql',
        'db_host'  => $db2_host,
        'db_name'  => $db2_name,
        'db_user'  => $db2_user,
        'db_pwd'   => $db2_pwd,
        'db_port'  => 3306,
        'db_prefix'  => '',
        'db_charset'  => 'utf8',
        'db_debug'  => TRUE,
    )
);

使用数据库

$banner = M('banner');
$data1 = $banner->select();


$banner2 = M('banner','','DB_CONFIG2');
$data2 = $banner2->select();

$response = [
    $data1,
    $data2
];
$this->json->ok($response);

看看M方法

/**
 * 实例化一个没有模型文件的Model
 * @param string $name Model名称 支持指定基础模型 例如 MongoModel:User
 * @param string $tablePrefix 表前缀
 * @param mixed $connection 数据库连接信息
 * @return Model
 */
function M($name='', $tablePrefix='',$connection='') {
    static $_model  = array();
    if(strpos($name,':')) {
        list($class,$name)    =  explode(':',$name);
    }else{
        $class      =   'Think\\Model';
    }
    $guid           =   (is_array($connection)?implode('',$connection):$connection).$tablePrefix . $name . '_' . $class;
    if (!isset($_model[$guid]))
        $_model[$guid] = new $class($name,$tablePrefix,$connection);
    return $_model[$guid];
}
posted @ 2021-07-12 13:43  TBHacker  阅读(262)  评论(0编辑  收藏  举报