php框架CodeIgniter主從數(shù)據(jù)庫(kù)配置方法分析
本文實(shí)例講述了php框架CodeIgniter主從數(shù)據(jù)庫(kù)配置方法。分享給大家供大家參考,具體如下:
CodeIgniter簡(jiǎn)稱CI是最流行的一個(gè)php MVC框架之一,本人講從實(shí)際項(xiàng)目使用中寫(xiě)系列實(shí)戰(zhàn)經(jīng)驗(yàn),有別與其他的理論講解文章,會(huì)附上實(shí)戰(zhàn)流程和代碼。
本篇為配置多個(gè)數(shù)據(jù)庫(kù),使用場(chǎng)景為集群,分布式,數(shù)據(jù)庫(kù)讀寫(xiě)分離,多臺(tái)主從互備只有一臺(tái)為讀寫(xiě)數(shù)據(jù)庫(kù),其他為只讀數(shù)據(jù)庫(kù)。
工具/環(huán)境:
php開(kāi)發(fā)環(huán)境
CodeIgniter
方法/步驟:
在config/database.php 里面配置多一個(gè)數(shù)據(jù)庫(kù)源,default為默認(rèn)的可以是localhost也可以是IP,writedb為可讀寫(xiě)的數(shù)據(jù)庫(kù),由于寫(xiě)的為主從互備的需要用IP遠(yuǎn)程調(diào)用,本人配置為:
$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配置兩個(gè)數(shù)據(jù)源進(jìn)來(lái),只需要讀的配置一個(gè)就可以了,當(dāng)然如果是只寫(xiě)的也可以單獨(dú)配置寫(xiě)的一個(gè)。
本人一個(gè)問(wèn)題反饋的實(shí)例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)控制器的調(diào)用跟普通的一樣,只要引入Model就可以了,本人實(shí)例:
<?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);
}
}
?>
注意事項(xiàng):
① 由于寫(xiě)的為主從互備的需要用IP遠(yuǎn)程調(diào)用
② default為默認(rèn)的可以是localhost也可以是IP
更多關(guān)于CodeIgniter相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《codeigniter入門(mén)教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《ThinkPHP入門(mén)教程》、《ThinkPHP常用方法總結(jié)》、《Zend FrameWork框架入門(mén)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于CodeIgniter框架的PHP程序設(shè)計(jì)有所幫助。
- codeigniter自帶數(shù)據(jù)庫(kù)類(lèi)使用方法說(shuō)明
- 讓CodeIgniter數(shù)據(jù)庫(kù)緩存自動(dòng)過(guò)期的處理的方法
- 新浪SAE云平臺(tái)下使用codeigniter的數(shù)據(jù)庫(kù)配置
- codeigniter數(shù)據(jù)庫(kù)操作函數(shù)匯總
- Codeigniter操作數(shù)據(jù)庫(kù)表的優(yōu)化寫(xiě)法總結(jié)
- CodeIgniter針對(duì)數(shù)據(jù)庫(kù)的連接、配置及使用方法
- CodeIgniter框架數(shù)據(jù)庫(kù)事務(wù)處理的設(shè)計(jì)缺陷和解決方案
- CI框架(CodeIgniter)實(shí)現(xiàn)的數(shù)據(jù)庫(kù)增刪改查操作總結(jié)
- CodeIgniter框架數(shù)據(jù)庫(kù)基本操作示例
- CI(CodeIgniter)框架配置
- CodeIgniter基本配置詳細(xì)介紹
相關(guān)文章
ThinkPHP學(xué)習(xí)筆記(一)ThinkPHP部署
我是在新浪的SAE上安裝ThinkPHP,SAE引擎的,直接安裝源代碼包,然后啟動(dòng)Memcache和MySql服務(wù)就可以運(yùn)行成功了。2014-06-06
php基于curl擴(kuò)展制作跨平臺(tái)的restfule 接口
這篇文章主要介紹了php基于curl擴(kuò)展制作跨平臺(tái)的restfule 接口的相關(guān)資料以及詳細(xì)的代碼,有需要的小伙伴可以參考下。2015-05-05
PHP結(jié)合Jquery和ajax實(shí)現(xiàn)瀑布流特效
php+ajax+jquery實(shí)現(xiàn)無(wú)限瀑布流布局 寬度是一定的高度不定的瀑布流布局 也可以說(shuō)是無(wú)縫拼圖 當(dāng)瀏覽器滾動(dòng)到底部時(shí)候自動(dòng)加載圖片,非常的實(shí)用,需要的小伙伴可以參考下。2016-01-01
Zend Framework入門(mén)教程之Zend_Session會(huì)話操作詳解
這篇文章主要介紹了Zend Framework入門(mén)教程之Zend_Session會(huì)話操作,結(jié)合實(shí)例形式詳細(xì)分析了Zend_Session會(huì)話操作的具體使用技巧,需要的朋友可以參考下2016-12-12
Zend Framework入門(mén)知識(shí)點(diǎn)小結(jié)
這篇文章主要介紹了Zend Framework入門(mén)知識(shí)點(diǎn),總結(jié)分析了Zend Framework入門(mén)學(xué)習(xí)的知識(shí)重點(diǎn),需要的朋友可以參考下2016-03-03
通過(guò)PHP實(shí)現(xiàn)用戶注冊(cè)后郵箱驗(yàn)證激活
這篇文章主要介紹了通過(guò)PHP實(shí)現(xiàn)用戶注冊(cè)后郵箱驗(yàn)證激活,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
關(guān)于 Laravel Redis 多個(gè)進(jìn)程同時(shí)取隊(duì)列問(wèn)題詳解
這篇文章主要給大家介紹了關(guān)于 Laravel Redis 多個(gè)進(jìn)程同時(shí)取隊(duì)列問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12

