1. Giới thiệu
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']['pconnect'] = TRUE;
Trang 36 $db['default']['db_debug'] = FALSE; $db['default']['cache_on'] = FALSE; $db['default']['cachedir'] = ""; $db['default']['char_set'] = "utf8"; $db['default']['dbcollat'] = "utf8_general_ci"; Trong đó 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.
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ở
Trang 37 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.