国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php框架CodeIgniter主從數據庫配置方法分析

2024-05-05 00:03:54
字體:
來源:轉載
供稿:網友

本文實例講述了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:

<?phpclass 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

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


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 秦皇岛市| 华容县| 出国| 桦川县| 平安县| 鄂托克前旗| 吉木萨尔县| 老河口市| 易门县| 河源市| 五台县| 泰安市| 浦北县| 元谋县| 宣威市| 兰考县| 绥芬河市| 东光县| 临潭县| 德化县| 阿克| 蕉岭县| 容城县| 太白县| 教育| 盐津县| 丹江口市| 灵台县| 霍州市| 吴忠市| 平定县| 耿马| 厦门市| 乾安县| 寻甸| 慈利县| 察隅县| 宝清县| 晋宁县| 连山| 平陆县|