php框架CodeIgniter主从数据库配置方法分析
发布:smiling 来源: PHP粉丝网 添加日期:2021-09-18 13:57:37 浏览: 评论:0
本文实例讲述了php框架CodeIgniter主从数据库配置方法,分享给大家供大家参考,具体如下:
CodeIgniter简称CI是最流行的一个php MVC框架之一,本人讲从实际项目使用中写系列实战经验,有别与其他的理论讲解文章,会附上实战流程和代码。
本篇为配置多个数据库,使用场景为集群,分布式,数据库读写分离,多台主从互备只有一台为读写数据库,其他为只读数据库。
工具/环境:
php开发环境
CodeIgniter
方法/步骤:
在config/database.php 里面配置多一个数据库源,default为默认的可以是localhost也可以是IP,writedb为可读写的数据库,由于写的为主从互备的需要用IP远程调用,本人配置为:
- $active_group = 'default';
- $active_record = TRUE;
- $db['default']['hostname'] = 'localhost';
- $db['default']['username'] = 'default_username';
- $db['default']['password'] = 'default_password';
- $db['default']['database'] = 'default_dbname';
- $db['default']['dbdriver'] = 'mysql';
- $db['default']['dbprefix'] = '';
- $db['default']['pconnect'] = TRUE;
- $db['default']['db_debug'] = FALSE;
- $db['default']['cache_on'] = FALSE;
- $db['default']['cachedir'] = '';
- $db['default']['char_set'] = 'utf8';
- $db['default']['dbcollat'] = 'utf8_general_ci';
- $db['default']['swap_pre'] = '';
- $db['default']['autoinit'] = TRUE;
- $db['default']['stricton'] = FALSE;
- $db['writedb']['hostname'] = '202.187.194.160';
- $db['writedb']['username'] = 'writedb_name';
- $db['writedb']['password'] = 'writedb_password';
- $db['writedb']['database'] = 'writedb_db';
- $db['writedb']['dbdriver'] = 'mysql';
- $db['writedb']['dbprefix'] = '';
- $db['writedb']['pconnect'] = TRUE;
- $db['writedb']['db_debug'] = TRUE;
- $db['writedb']['cache_on'] = FALSE;
- $db['writedb']['cachedir'] = '';
- $db['writedb']['char_set'] = 'utf8';
- $db['writedb']['char_names'] = 'utf8';
- $db['writedb']['dbcollat'] = 'utf8_general_ci';
- $db['writedb']['swap_pre'] = '';
- $db['writedb']['autoinit'] = TRUE;
- $db['writedb']['stricton'] = FALSE;
M(Model)需要用到的Model配置两个数据源进来,只需要读的配置一个就可以了,当然如果是只写的也可以单独配置写的一个。
本人一个问题反馈的实例feedbackmodel.php:
- <?php
- class Feedbackmodel extends CI_Model {
- function __construct() {
- parent::__construct ();
- $this->db = $this->load->database ('default',true);
- $this->writedb = $this->load->database ('writedb',true);
- }
- public function add($data)
- {
- $this->writedb->insert('feedback',$data);
- if($this->writedb->affected_rows() == 1){
- return true;
- }
- return false ;
- }
- }
- ?>
C(Controller)控制器的调用跟普通的一样,只要引入Model就可以了,本人实例:
- <?php
- class Feedback extends CI_Controller {
- function __construct(){
- parent::__construct();
- }
- function index(){
- $this->load->model('feedbackmodel');
- $this->load->helper('url');
- $data['name'] = "feedback";
- $this->load->view('feedbackview',$data);
- }
- }
- ?>
注意事项:
① 由于写的为主从互备的需要用IP远程调用
② default为默认的可以是localhost也可以是IP
Tags: CodeIgniter php主从数据库配置
相关文章
- ·CodeIgniter3.0+框架自定义异常处理的方法介绍(2020-02-08)
- ·解决Codeigniter不能上传rar和zip压缩包问题(2020-10-19)
- ·CodeIgniter框架中_remap()使用方法2例(2020-10-20)
- ·CI(CodeIgniter)框架中的增删改查操作(2021-02-11)
- ·CodeIgniter启用缓存和清除缓存的方法(2021-02-13)
- ·让CodeIgniter数据库缓存自动过期的处理的方法(2021-02-13)
- ·Codeigniter生成Excel文档的简单方法(2021-02-13)
- ·Codeigniter+PHPExcel实现导出数据到Excel文件(2021-02-13)
- ·Codeigniter实现智能裁剪图片的方法(2021-02-13)
- ·Codeigniter整合Tank Auth权限类库详解(2021-02-18)
- ·新浪SAE云平台下使用codeigniter的数据库配置(2021-02-18)
- ·Codeigniter实现处理用户登录验证后的URL跳转(2021-02-18)
- ·让codeigniter与swfupload整合的最佳解决方案(2021-02-18)
- ·Codeigniter实现多文件上传并创建多个缩略图(2021-02-18)
- ·让CodeIgniter的ellipsize()支持中文截断的方法(2021-02-18)
- ·CodeIgniter框架过滤HTML危险代码(2021-02-18)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)