3.3. Database
3.3.1. Thiết lập thông tin cơ sở dữ liệu
Thông tin cơ sở dữ liệu của hệ thống được lưu trong tập tin application/config/databasẹphp. Các thông tin này được lưu trong một mảng hai chiều $db theo mẫu:
$db['default']['hostnamé] = "localhost"; $db['default']['usernamé] = "root"; $db['default']['password'] = ""; $db['default']['databasé] = "database_name"; $db['default']['dbdriver'] = "mysql"; $db['default']['dbprefix'] = "";
$db['default']['db_debug'] = FALSE; $db['default']['cache_on'] = FALSE; $db['default']['cachedir'] = ""; $db['default']['char_set'] = "utf8"; $db['default']['dbcollat'] = "utf8_general_ci"; Khóa Mô tả
hostname Tên của máy chủ chứa cơ sở dữ liệu, ví dụ: localhost username Tên tài khoản truy cập
password Mật khẩu truy cập
database Tên cơ sở dữ liệu cần kết nối
dbdriver Loại cơ sở dữ liệu, chẳng hạn: mysql, postgres, odbc… dbprefix Tiếp đầu ngữ của cơ sở dữ liệu, chẳng hạn như tbl_
pconnect Giá trị boolean cho biết có sử dụng kết nối bền (persistent connection) hay không. Kết nối bền giúp cho hệ thống luôn chỉ mở một kết nối duy nhất đến cơ sở dữ liệụ
db_debug Giá trị boolean cho biết có hiển thị lỗi của cơ sở dữ liệu hay không cache_on Giá trị boolean cho biết các truy vấn có được lưu trong bộ đệm hay
không cache_dir
Đường dẫn tuyệt đối đến thư mục đệm để lưu các truy vấn char_set
Character set được sử dụng để giao tiếp với cơ sở dữ liệu dbcollat Character collation được sử dụng để giao tiếp với cơ sở dữ liệu port
Cổng kết nối, sử dụng trong trường hợp kết nối đến cơ sở dữ liệu Postgres SQL.
Trong đó
Các thông tin trên được thiết lập tùy thuộc vào loại cơ sở dữ liệu cần kết nốị chẳng hạn như nếu sử dụng SQLite, ta không cần username và password, và database sẽ là đường dẫn đến tập tin cơ sở dữ liệụ
Bằng cách sử dụng mảng hai chiều để lưu thông tin, CodeIgniter cho phép ta thiết lập nhiều cơ sở dữ liệu trong cùng một ứng dụng (mỗi cơ sở dữ liệu sẽ được gọi là một nhóm). Khi cần kết nối đến cơ sở dữ liệu nào, ta chỉ cần sử dụng các thông số của cơ sở
dữ liệu đó. CodeIgniter sẽ chọn cơ sở dữ liệu mặc định bằng giá trị của biến $active_group.