DSN trong codeigniter là gì?
CodeIgniter có một tệp cấu hình cho phép bạn lưu trữ các giá trị kết nối cơ sở dữ liệu của mình (tên người dùng, mật khẩu, tên cơ sở dữ liệu, v.v. ). Tệp cấu hình được đặt tại app/Config/Database. php. Bạn cũng có thể đặt các giá trị kết nối cơ sở dữ liệu trong. tập tin env. Xem dưới đây để biết thêm chi tiết Show Cài đặt cấu hình được lưu trữ trong một thuộc tính lớp là một mảng với nguyên mẫu này public $default = [ 'DSN' => '', 'hostname' => 'localhost', 'username' => 'root', 'password' => '', 'database' => 'database_name', 'DBDriver' => 'MySQLi', 'DBPrefix' => '', 'pConnect' => TRUE, 'DBDebug' => TRUE, 'cacheOn' => FALSE, 'cacheDir' => '', 'charset' => 'utf8', 'DBCollat' => 'utf8_general_ci', 'swapPre' => '', 'encrypt' => FALSE, 'compress' => FALSE, 'strictOn' => FALSE, 'failover' => [], ]; Tên của thuộc tính lớp là tên kết nối và có thể được sử dụng trong khi kết nối để chỉ định tên nhóm Ghi chú Vị trí mặc định của cơ sở dữ liệu SQLite3 nằm trong thư mục Một số trình điều khiển cơ sở dữ liệu (chẳng hạn như PDO, PostgreSQL, Oracle, ODBC) có thể yêu cầu cung cấp chuỗi DSN đầy đủ. Nếu đúng như vậy, bạn nên sử dụng cài đặt cấu hình 'DSN', như thể bạn đang sử dụng tiện ích mở rộng PHP gốc bên dưới của trình điều khiển, như thế này // PDO $default['DSN'] = 'pgsql:host=localhost;port=5432;dbname=database_name'; // Oracle $default['DSN'] = '//localhost/XE'; Ghi chú Nếu bạn không chỉ định chuỗi DSN cho trình điều khiển yêu cầu nó, CodeIgniter sẽ cố gắng tạo chuỗi đó với phần còn lại của cài đặt được cung cấp Ghi chú Nếu bạn cung cấp một chuỗi DSN và nó thiếu một số cài đặt hợp lệ (e. g. bộ ký tự cơ sở dữ liệu), có mặt trong phần còn lại của các trường cấu hình, CodeIgniter sẽ thêm chúng vào Bạn cũng có thể chỉ định chuyển đổi dự phòng cho tình huống khi kết nối chính không thể kết nối vì lý do nào đó. Các chuyển đổi dự phòng này có thể được chỉ định bằng cách đặt chuyển đổi dự phòng cho một kết nối như thế này $default['failover'] = [ [ 'hostname' => 'localhost1', 'username' => '', 'password' => '', 'database' => '', 'DBDriver' => 'MySQLi', 'DBPrefix' => '', 'pConnect' => TRUE, 'DBDebug' => TRUE, 'cacheOn' => FALSE, 'cacheDir' => '', 'charset' => 'utf8', 'DBCollat' => 'utf8_general_ci', 'swapPre' => '', 'encrypt' => FALSE, 'compress' => FALSE, 'strictOn' => FALSE ], [ 'hostname' => 'localhost2', 'username' => '', 'password' => '', 'database' => '', 'DBDriver' => 'MySQLi', 'DBPrefix' => '', 'pConnect' => TRUE, 'DBDebug' => TRUE, 'cacheOn' => FALSE, 'cacheDir' => '', 'charset' => 'utf8', 'DBCollat' => 'utf8_general_ci', 'swapPre' => '', 'encrypt' => FALSE, 'compress' => FALSE, 'strictOn' => FALSE ] ]; Bạn có thể chỉ định bao nhiêu chuyển đổi dự phòng tùy thích Bạn có thể tùy chọn lưu trữ nhiều bộ giá trị kết nối. Ví dụ: nếu bạn chạy nhiều môi trường (phát triển, sản xuất, thử nghiệm, v.v. ) trong một lần cài đặt, bạn có thể thiết lập nhóm kết nối cho từng nhóm, sau đó chuyển đổi giữa các nhóm nếu cần. Ví dụ: để thiết lập môi trường “thử nghiệm”, bạn sẽ làm điều này public $test = [ 'DSN' => '', 'hostname' => 'localhost', 'username' => 'root', 'password' => '', 'database' => 'database_name', 'DBDriver' => 'MySQLi', 'DBPrefix' => '', 'pConnect' => TRUE, 'DBDebug' => TRUE, 'cacheOn' => FALSE, 'cacheDir' => '', 'charset' => 'utf8', 'DBCollat' => 'utf8_general_ci', 'swapPre' => '', 'compress' => FALSE, 'encrypt' => FALSE, 'strictOn' => FALSE, 'failover' => [] ); Sau đó, để yêu cầu hệ thống sử dụng nhóm đó trên toàn cầu, bạn sẽ đặt biến này nằm trong tệp cấu hình $defaultGroup = 'test'; Ghi chú Tên 'kiểm tra' là tùy ý. Nó có thể là bất cứ điều gì bạn muốn. Theo mặc định, chúng tôi đã sử dụng từ “mặc định” cho kết nối chính, nhưng nó cũng có thể được đổi tên thành một thứ phù hợp hơn với dự án của bạn Bạn có thể sửa đổi tệp cấu hình để phát hiện môi trường và tự động cập nhật giá trị class Database { public $development = [...]; public $test = [...]; public $production = [...]; public function __construct() { $this->defaultGroup = ENVIRONMENT; } } Cấu hình với. tập tin envBạn cũng có thể lưu các giá trị cấu hình của mình trong tệp // PDO $default['DSN'] = 'pgsql:host=localhost;port=5432;dbname=database_name'; // Oracle $default['DSN'] = '//localhost/XE';0 với cài đặt cơ sở dữ liệu của máy chủ hiện tại. Bạn chỉ cần nhập các giá trị thay đổi so với giá trị trong cài đặt cấu hình của nhóm mặc định. Các giá trị phải là tên theo định dạng này, trong đó // PDO $default['DSN'] = 'pgsql:host=localhost;port=5432;dbname=database_name'; // Oracle $default['DSN'] = '//localhost/XE';1 là tên nhóm________số 8_______ Như với tất cả khác Giải thích các giá trịTên ConfigDescriptiondsnChuỗi kết nối DSN (chuỗi cấu hình tất cả trong một). hostnameTên máy chủ của máy chủ cơ sở dữ liệu của bạn. Thường thì đây là 'máy chủ cục bộ'. usernameTên người dùng được sử dụng để kết nối với cơ sở dữ liệu. password Mật khẩu dùng để kết nối với cơ sở dữ liệu. cơ sở dữ liệuTên của cơ sở dữ liệu bạn muốn kết nối với. DBDriverLoại cơ sở dữ liệu. ví dụ. MySQLi, Postgre, v.v. Trường hợp phải khớp với tên trình điều khiểnDBPrefixMột tiền tố bảng tùy chọn sẽ được thêm vào tên bảng khi chạy truy vấn Trình tạo truy vấn. Điều này cho phép nhiều bản cài đặt CodeIgniter chia sẻ một cơ sở dữ liệu. pConnectTRUE/FALSE (boolean) - Có sử dụng kết nối liên tục hay không. DBDebugTRUE/FALSE (boolean) - Có hiển thị lỗi cơ sở dữ liệu hay không. cacheOnTRUE/FALSE (boolean) - Bộ nhớ đệm truy vấn cơ sở dữ liệu có được bật hay không. cacheDirĐường dẫn máy chủ tuyệt đối đến thư mục bộ đệm truy vấn cơ sở dữ liệu của bạn. bộ ký tự Bộ ký tự được sử dụng để giao tiếp với cơ sở dữ liệu. DBCollatĐối chiếu ký tự được sử dụng trong giao tiếp với cơ sở dữ liệu Ghi chú Chỉ được sử dụng trong trình điều khiển 'MySQLi' swapPreA tiền tố bảng mặc định nên được hoán đổi với dbprefix. Điều này hữu ích cho các ứng dụng phân tán nơi bạn có thể chạy các truy vấn được viết thủ công và cần tiền tố để người dùng cuối vẫn có thể tùy chỉnh. lược đồ Lược đồ cơ sở dữ liệu, mặc định là 'công khai'. Được sử dụng bởi trình điều khiển PostgreSQL và ODBC. mã hóaCó hay không sử dụng kết nối được mã hóa
Số cổng cơ sở dữ liệu. Để sử dụng giá trị này, bạn phải thêm một dòng vào mảng cấu hình cơ sở dữ liệu $default['port'] = 5432; Ghi chú Tùy thuộc vào nền tảng cơ sở dữ liệu bạn đang sử dụng (MySQL, PostgreSQL, v.v. ) không phải tất cả các giá trị sẽ cần thiết. Ví dụ: khi sử dụng SQLite, bạn sẽ không cần cung cấp tên người dùng hoặc mật khẩu và tên cơ sở dữ liệu sẽ là đường dẫn đến tệp cơ sở dữ liệu của bạn. Thông tin trên giả định rằng bạn đang sử dụng MySQL Làm cách nào để kết nối cơ sở dữ liệu với CodeIgniter?Bạn có thể kết nối với cơ sở dữ liệu của mình bằng cách thêm dòng mã này vào bất kỳ chức năng nào cần thiết hoặc trong hàm tạo của lớp để làm cho cơ sở dữ liệu có sẵn trên toàn cầu trong lớp đó. ? php $db = \Config\Database. kết nối();
Làm cách nào để sử dụng hai cơ sở dữ liệu trong CodeIgniter?Nếu bạn cần kết nối đồng thời với nhiều cơ sở dữ liệu, bạn có thể thực hiện như sau. $DB1 = $this->load->database('group_one', TRUE);
Cấu hình DB là gì?Bạn sử dụng ứng dụng Cấu hình cơ sở dữ liệu để tạo hoặc thay đổi các đối tượng và thuộc tính cũng như để tùy chỉnh cơ sở dữ liệu . Một đối tượng là một thực thể phần mềm độc lập bao gồm cả dữ liệu và chức năng để thao tác dữ liệu.
Làm cách nào để lấy dữ liệu từ cơ sở dữ liệu trong CodeIgniter 4?Mục lục . Cài đặt Codeigniter 4 Tạo điều kiện cho lỗi Codeigniter Kết nối cơ sở dữ liệu Tạo mô hình Tạo bộ điều khiển người dùng Xác định tuyến đường Tìm nạp bản ghi từ cơ sở dữ liệu với AJAX Bắt đầu ứng dụng |