ThinkPHP学习笔记(五)数据库的链接设置以及主从数据库配置需要注意的问题...


database.php配置文件放在入口文件的同级目录之下:

<?php
return array(

//链接数据库的方式:见DatabaseAction.class.php


//主从数据库的配置(Common/convention.php)
//1.开启数据库的分布式
    'DB_DEPLOY_TYPE'=> 1, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
//2.必须要做数据库服务器中进行相应的配置
//百度设置数据库集群
//3.读写分离(默认是第一台服务器是写入服务器,其他的服务器的读服务器)
    'DB_RW_SEPARATE'=> true,// 数据库读写是否分离 主从式有效
//ThinkPHP默认的字符集是utf8,不要加中划线- 
	'DB_FIELDTYPE_CHECK'=> false, // 是否进行字段类型检查
    'DB_FIELDS_CACHE'   => true,  // 启用字段缓存
    'DB_CHARSET'        => 'utf8',// 数据库编码默认采用utf8
    



//由于数据库的链接需要多个项目来使用可以在一个页面中定义个公共的配置项,返回一个array数组
//ThinkPHP中的db目录:Lib/Think/Db/Db.class.php
//连接数据库设置
'DB_TYPE'=>'mysql',
'DB_HOST'=>'localhost',
//设置主从数据时用
//'DB_HOST'=>'localhost,192.168.123.1',
'DB_NAME'=>'hibernate',
//设置主从数据时若名字不同
//'DB_NAME'=>'hibernate,ant,thinkphp',
'DB_USER'=>'root',
'DB_PWD'=>'root',
//如果未修改可以不用填写
'DB_POST'=>'3306',
'DB_PREFIX'=>'tb_',
);
?>

修改conf.php文件

<?php
$selfConfig = array(
'URL_MODEL'=>1,

'URL_PATNINFO_MODEL'=>2,

//修改模板左右定界符
'TMPL_L_DELIM'=>'<!--{',
'TMPL_R_DELIM'=>'}-->',

//开启调试模式
//1.模拟linux系统来识别大小写
//2.方法名的大小写与模板文件大小写有关
'APP_DEBUG'=>true,

);

$databaseConfig = include './database.php';


return array_merge($selfConfig,$databaseConfig);

?>

Action中收到设置数据库的链接方式:

<?php
class DatabaseAction extends Action{
	public function index(){
		$host= C('DB_HOST');
		
		
		//手动链接一:链接远程数据库
		$dsn='mysql://username:password@125.264.45.88:3306/thinkPHP';
		$db=new Db($dsn);
		//手动链接二:链接远程数据库
		$dsn=array(
			'dbms'=>'mysql',
			'username'=>'root',
			'password'=>'root',
			'hostname'=>'localhost',
			'hostport'=>'3306',
			'database'=>'hibernate',
		);
		$db=new Db($dsn);
		//手动链接三:必须写在自定义模型当中,见DataBaseModel.class.php
		
		
        $this->assign("configTest",$host);
		$this->display();
	}
}
?>

在Model中进行使用

<?php
	class DataBaseMode extends Model{
		//方式一:
//		protected $connection='mysql://username:password@125.264.45.88:3306/thinkPHP';
		//方式二:
		protected $connection=array(
			'dbms'=>'mysql',
			'username'=>'root',
			'password'=>'root',
			'hostname'=>'localhost',
			'hostport'=>'3306',
			'database'=>'hibernate',
		);
	}
?>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ThinkPHP5的database.php配置文件中,可以配置多个数据库连接。具体实现方式如下: 1. 在config目录下创建一个database.php文件,用于存储数据库连接信息。 2. 在database.php文件中使用return返回一个数组,数组中包含多个数据库连接信息。 示例代码如下: ```php <?php return [ // 默认数据库连接信息 'default' => [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => 'localhost', // 数据库名 'database' => 'test', // 数据库用户名 'username' => 'root', // 数据库密码 'password' => '', // 数据库连接端口 'hostport' => '', // 数据库连接参数 'params' => [], // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => '', ], // 第二个数据库连接信息 'db2' => [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => 'localhost', // 数据库名 'database' => 'test2', // 数据库用户名 'username' => 'root', // 数据库密码 'password' => '', // 数据库连接端口 'hostport' => '', // 数据库连接参数 'params' => [], // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => '', ], ]; ``` 3. 在数据库操作时,可以指定使用哪个数据库连接。例如: ```php <?php // 使用默认数据库连接 Db::name('user')->where('status',1)->select(); // 使用db2数据库连接 Db::connect('db2')->name('user')->where('status',1)->select(); ``` 以上就是在ThinkPHP5中配置多个数据库连接的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值