Cấu hình nhiều Database trong Codeigniter

Tác giả codervncodeign1639, T.Chín 17, 2015, 06:25:22 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

Cấu hình nhiều Database trong Codeigniter

Nếu như các bạn sử dụng 1 database thì xem lại bài cài đặt codeigniter, nhưng nếu bạn muốn sử dụng 2 database trong cùng 1 source thì việc đó cũng đơn giản như đan rổ thôi à!

Trong file database.php sẽ cung cấp cho ta 1 file cấu hình database mặc định, và để cấu hình thêm 1 database nữa thì chỉ cần khai báo thêm như bên dưới

Ở trên các bạn thấy, mình khai báo thêm 1 mảng chứa các thông tin của database mới, và để truy xuất bảng mới này, bạn cần truyền vào nó cho nó 1 biến

Mã nguồn [Chọn]
$this->load->database('Tên database',TRUE);

File database.php

Mã nguồn [Chọn]
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');/* ------------------------------------------------------------------- DATABASE CONNECTIVITY SETTINGS ------------------------------------------------------------------- This file will contain the settings needed to access your database. For complete instructions please consult the 'Database Connection' page of the User Guide. ------------------------------------------------------------------- EXPLANATION OF VARIABLES -------------------------------------------------------------------    ['hostname'] The hostname of your database server.    ['username'] The username used to connect to the database    ['password'] The password used to connect to the database    ['database'] The name of the database you want to connect to    ['dbdriver'] The database type. ie: mysql.  Currently supported:                 mysql, mysqli, postgre, odbc, mssql, sqlite, oci8    ['dbprefix'] You can add an optional prefix, which will be added                 to the table name when using the  Active Record class    ['pconnect'] TRUE/FALSE - Whether to use a persistent connection    ['db_debug'] TRUE/FALSE - Whether database errors should be displayed.    ['cache_on'] TRUE/FALSE - Enables/disables query caching    ['cachedir'] The path to the folder where cache files should be stored    ['char_set'] The character set used in communicating with the database    ['dbcollat'] The character collation used in communicating with the database                 NOTE: For MySQL and MySQLi databases, this setting is only used                  as a backup if your server is running PHP < 5.2.3 or MySQL < 5.0.7                 (and in table creation queries made with DB Forge).                  There is an incompatibility in PHP with mysql_real_escape_string() which                  can make your site vulnerable to SQL injection if you are using a                  multi-byte character set and are running versions lower than these.                  Sites using Latin-1 or UTF-8 database character set and collation are unaffected.    ['swap_pre'] A default table prefix that should be swapped with the dbprefix    ['autoinit'] Whether or not to automatically initialize the database.    ['stricton'] TRUE/FALSE - forces 'Strict Mode' connections                            - good for ensuring strict SQL while developing The $active_group variable lets you choose which connection group to make active.  By default there is only one group (the 'default' group). The $active_record variables lets you determine whether or not to load the active record class*/ini_set('mssql.charset''UTF-8'); $active_group 'default';$active_record TRUE;  $db['default']['hostname'] = 'localhost';$db['default']['username'] = 'username';$db['default']['password'] = 'matkhau';$db['default']['database'] = 'database'$db['default']['dbdriver'] = 'mssql';$db['default']['dbprefix'] = ''$db['default']['pconnect'] = FALSE$db['default']['db_debug'] = TRUE;$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$active_group 'forum';$active_record TRUE;  $db['forum']['hostname'] = 'localhost';$db['forum']['username'] = 'database_name';$db['forum']['password'] = 'matkhau';$db['forum']['database'] = 'database_name'$db['forum']['dbdriver'] = 'mysql';$db['forum']['dbprefix'] = ''$db['forum']['pconnect'] = FALSE$db['forum']['db_debug'] = TRUE;$db['forum']['cache_on'] = FALSE;$db['forum']['cachedir'] = '';$db['forum']['char_set'] = 'latin1';$db['forum']['dbcollat'] = 'utf8_general_ci';$db['forum']['swap_pre'] = '';$db['forum']['autoinit'] = TRUE;$db['forum']['stricton'] = FALSE;

File model

Mã nguồn [Chọn]
class Product_model extends CI_Model    private $_table =   "Tên bảng";    function __construct()         parent::__construct();        $db3     =   $this->load->database('default',TRUE);        $db2    =   $this->load->database('forum',TRUE);            function get_product()            $query  =   $this->db3->get($this->_table);        if($query->result())                    return $query->result();        else            return FALSE;