亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

php框架CodeIgniter主從數(shù)據(jù)庫配置方法分析

 更新時間:2018年05月25日 08:53:24   作者:myphpnotes  
這篇文章主要介紹了php框架CodeIgniter主從數(shù)據(jù)庫配置方法,結(jié)合實(shí)例形式分析了CodeIgniter框架主從數(shù)據(jù)庫配置方法、模型model與控制器調(diào)用操作技巧以及相關(guān)注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了php框架CodeIgniter主從數(shù)據(jù)庫配置方法。分享給大家供大家參考,具體如下:

CodeIgniter簡稱CI是最流行的一個php MVC框架之一,本人講從實(shí)際項(xiàng)目使用中寫系列實(shí)戰(zhàn)經(jīng)驗(yàn),有別與其他的理論講解文章,會附上實(shí)戰(zhàn)流程和代碼。

本篇為配置多個數(shù)據(jù)庫,使用場景為集群,分布式,數(shù)據(jù)庫讀寫分離,多臺主從互備只有一臺為讀寫數(shù)據(jù)庫,其他為只讀數(shù)據(jù)庫。

工具/環(huán)境:

php開發(fā)環(huán)境
CodeIgniter

方法/步驟:

在config/database.php 里面配置多一個數(shù)據(jù)庫源,default為默認(rèn)的可以是localhost也可以是IP,writedb為可讀寫的數(shù)據(jù)庫,由于寫的為主從互備的需要用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配置兩個數(shù)據(jù)源進(jìn)來,只需要讀的配置一個就可以了,當(dāng)然如果是只寫的也可以單獨(dú)配置寫的一個。

本人一個問題反饋的實(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):

① 由于寫的為主從互備的需要用IP遠(yuǎn)程調(diào)用

② default為默認(rèn)的可以是localhost也可以是IP

更多關(guān)于CodeIgniter相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《ThinkPHP入門教程》、《ThinkPHP常用方法總結(jié)》、《Zend FrameWork框架入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家基于CodeIgniter框架的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論