Thêm sửa dữ liệu với Database helper trên CodeIgniter

Các chức năng thêm, sửa dữ liệu trên CodeIgniter được đưa ra bằng các hàm dựng sẵn. Việc sử dụng các hàm này vào xử lý dữ liệu trong cơ sở dữ liệu là rất dễ dàng và tiện dụng. Ngoài các hàm thêm sửa, chúng ta sẽ đi qua các hàm thông dụng và hữu ích khác của Database helper này trên CodeIgniter.

1. Các hàm hỗ trợ truy vấn bao gồm:

a. Hàm $this->db->insert_id().

Hàm này giúp chèn một số ID khi thực hiện truy vấn thêm dữ liệu - INSERT.

b. $this->db->affected_rows().

Hàm này giúp hiển thị số lượng hàng bị ảnh hưởng khi thực hiện truy vấn ghi dữ liệu như INSERT, UPDATE ...

Chú ý : Trong MySQL thuần thì câu "DELETE FROM TABLE" trả về 0 (số hàng bị ảnh hưởng). Lớp Database trên CodeIgniter có một thủ tục xử lý giúp nó trả về chính xác số hàng bị ảnh hưởng. Theo mặc định thì thủ tục này được kích hoạt tự động, nhưng nó có thể được tắt đi trong file Database driver.

c. $this->db->count_all().

Hàm này giúp ta lấy được số lượng hàng trong một bảng cụ thể nào đó. Ví dụ:

echo $this->db->count_all('my_table');
// Giá trị trả về là một số nguyên

d. $this->db->platform().

Trả về Cơ sở dữ liệu nền tảng mà bạn đang sử dụng ví dụ (MySQL, MS SQL, Postgres, ...)

echo $this->db->platform();
// Trả về : mysql

e. $this->db->version().

Hàm này trả về phiên bản Cơ sở dữ liệu bạn đang chạy trên đó.

echo $this->db->version();
// Trả về : 5.5.32

f.$this->db->last_query().

Hàm này trả về truy vấn cuối cùng bạn đã chạy.

Ví dụ:

$str = $this->db->last_query();
// Trả về : SELECT `name`, `email`, `address` FROM (`ci_user`)

g. $this->db->insert_string().

Hàm này đơn giản việc chèn dữ liệu vào DB. Hàm này trả về định dạng chuẩn của chuỗi truy vấn SQL.

Ví dụ:

$data = array('name' => $name, 'email' => $email, 'url' => $url);
$str = $this->db->insert_string('table_name', $data);
// Chuỗi $str trả về : INSERT INTO table_name (name, email, url) VALUES ('Rick', 'rick@example.com', 'example.com')

Tham số đầu tiên là tên bảng cần thêm dữ liệu vào, tham số thứ hai là mảng giá trị tương ứng cần thêm vào.

h. Hàm $this->db->update_string().

Hàm này đơn giản quá trình cập nhật dữ liệu vào DB. Nó sẽ trả về chuỗi SQL tương ứng. Ví dụ:

$data = array('name' => $name, 'email' => $email, 'url' => $url);
$where = "author_id = 1 AND status = 'active'"; 
$str = $this->db->update_string('table_name', $data, $where);
// Trả về $str = UPDATE table_name SET name = 'Rick', email = 'rick@example.com', url = 'example.com' WHERE author_id = 1 AND status = 'active'

Tham số thứ nhất và thứ hai tương tự như ở hàm INSERT, còn tham số thứ ba là điều kiện cập nhật dữ liệu vào bảng.

Trong bài lần tới chúng ta sẽ xem xét tiếp về các hàm trong lớp con Active Record của Database Class trên CodeIgniter, ví dụ như là join(), where(), like() ...

Chúc các bạn thành công :)