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
    评论
ThinkPHP框架中,配置数据库需要在`/config/database.php`文件中进行配置。以下是一个基本的数据库配置示例: ```php return [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => 'localhost', // 数据库名 'database' => 'database_name', // 用户名 'username' => 'root', // 密码 'password' => 'root', // 端口 'hostport' => '3306', // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => 'tp_', // 数据库调试模式 'debug' => true, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器) 'deploy' => 0, // 数据库读写是否分离 主从式有效 'rw_separate' => false, // 读写分离后 主服务器数量 'master_num' => 1, // 指定从服务器序号 'slave_no' => '', ]; ``` 在上面的配置中,需要设置`type`、`hostname`、`database`、`username`和`password`等数据库信息。其中,`type`表示数据库类型,`hostname`表示服务器地址,`database`表示数据库名,`username`表示数据库用户名,`password`表示数据库密码。 设置数据库信息后,就可以在应用程序中使用数据库了。例如: ```php use think\Db; // 查询数据 $result = Db::name('user')->where('id', 1)->find(); // 插入数据 Db::name('user')->insert(['username' => 'test', 'password' => '123456']); // 更新数据 Db::name('user')->where('id', 1)->update(['password' => '654321']); // 删除数据 Db::name('user')->where('id', 1)->delete(); ``` 以上示例中,使用了`Db`类来进行数据库操作。`Db::name('user')`表示操作`user`表,`where`方法用于设置条件,`find`方法用于查询单条数据,`insert`方法用于插入数据,`update`方法用于更新数据,`delete`方法用于删除数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阳小良

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值