Home >Backend Development >PHP Tutorial >Detailed explanation of PHP framework CodeIgniter database configuration steps
This time I will bring you php frameworkDetailed explanation of the CodeIgniter database configuration steps, what are the precautions for php framework CodeIgniter database configuration, the following is a practical case, let's take a look.
CodeIgniter, referred to as CI, is one of the most popular PHP MVC frameworks. I will write a series of practical experiences from actual project use. Different from other theoretical articles, I will attach practical processes and codes.
This article is about configuring multiple databases. The usage scenario is clustering, distributed, and database read-write separation. Among multiple master-slave backup servers, only one is a read-write database, and the others are read-only databases.
Tools/Environment:
php development environment
CodeIgniter
##Method/Steps :
Configure one more database source in config/database.php. The default is localhost or IP. Writedb is a readable and writable database. Since the written Master-slave mutual backup requires IP remote calling. My configuration is:$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). The Model that needs to be used configures two data sources. You only need to configure one for reading. Of course, if It can be written only or configured separately. An example of my feedback model.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)
The call of the controller is the same as the ordinary one. Just introduce the Model. I Example:
<?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); } } ?>I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website! Recommended reading:
How to use Thinkphp5 uploadify to implement file upload
How to implement ADODB transaction processing in PHP
The above is the detailed content of Detailed explanation of PHP framework CodeIgniter database configuration steps. For more information, please follow other related articles on the PHP Chinese website!