การติดต่อฐานข้อมูลใน CI เราต้องไปแก้ไขไฟล์

/applications/config/database.php

แก้ไขโค๊ดส่วนนี้เพื่อใช้ติดต่อกับฐานข้อมูล

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'xxx';
$db['default']['password'] = 'xxx';
$db['default']['database'] = 'xxx';
$db['default']['dbdriver'] = 'mysqli';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = FALSE;
$db['default']['db_debug'] = FALSE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = 'application/cache';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

เวลาใช้งานก็สามารถใช้ได้โดยเขียน SQL แล้ว query หรือ active record ก็ได้
// query
$SQLCom = "SELECT * FROM `members`";
$members = $this->db->query($SQLCom)->result_array();
// active record
$members = $this->db->get("members");

แต่ถ้าต้องการติดต่อฐานข้อมูลมากกว่า 1 ฐานข้อมูล
เราสามารถเพิ่มการเชื่อต่อในไฟล์ database.php ได้ตามนี้

$db['db2']['hostname'] = "localhost";
$db['db2']['username'] = "root";
$db['db2']['password'] = "";
$db['db2']['database'] = "other_database_name";
$db['db2']['dbdriver'] = "mysql";
$db['db2']['dbprefix'] = "";
$db['db2']['pconnect'] = FALSE;
$db['db2']['db_debug'] = FALSE;
$db['db2']['cache_on'] = FALSE;
$db['db2']['cachedir'] = "";
$db['db2']['char_set'] = "utf8";
$db['db2']['dbcollat'] = "utf8_general_ci";
$db['db2']['swap_pre'] = "";
$db['db2']['autoinit'] = TRUE;
$db['db2']['stricton'] = FALSE;

เวลาเรียกใช้งานก็ตามนี้เลย
$db2 = $this->load->database("db2", TRUE);
$workers = $db2->get("workers");
// จะใช้การ query คำสั่งก็ได้ ไม่ผิดกติกา

แบบนี้เราจะติดต่อฐานข้อมูลกี่อันก็ได้แล้วแต่ง่ายๆ เลย