Home  >  Article  >  Backend Development  >  Detailed explanation of PHP framework CodeIgniter database configuration steps

Detailed explanation of PHP framework CodeIgniter database configuration steps

php中世界最好的语言
php中世界最好的语言Original
2018-05-28 10:34:432192browse

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn