2015-06-22 14 views

Trả lời

1

Bạn có thể tạo ra truy vấn của bạn như thế này

$this->db->from('user'); 
$this->db->select('RIGHT(id, 1) id_root',false); 
$this->db->where('LENGTH(id)',3,true); 
$this->db->where('LEFT(id, 1) =','0',true); 
$results=$this->db->get()->result(); 

Hãy nhớ rằng nếu bạn muốn sử dụng chức năng mysql tại truy vấn chọn của bạn mà có thể phá vỡ cú pháp mysql bởi codeigniter sử dụng sai như tham số 2 để codeigniter không bảo vệ/bí mật các trường của bạn.

Tương tự cho vị trí, nếu bạn muốn sử dụng hàm mysql hoặc hàm khác có thể phá vỡ cú pháp mysql bằng CI, hãy sử dụng tham số thứ 3 là true để codeigniter không chuyển đổi trường của bạn.

Xem chi tiết tại documentation

Cách đơn giản nhất để có được bất kỳ kết quả truy vấn sử dụng $this->db->query('YOUR_QUERY') Nhưng tôi thích sử dụng chức năng CI tích cực kỷ lục của.

+0

cảm ơn câu trả lời và nó hoàn hảo – nanasjr

1
$query = "SELECT RIGHT(id, 1) id_root 
      FROM user 
      WHERE LENGTH(id) = 3 
      and LEFT(id, 1) = '0'"; 
$result = $this->db->query($query); 
3
$result_arr = $this->db 
     ->select("RIGHT(id, 1) id_root", FALSE) 
     ->from("user") 
     ->where(
       array("LENGTH(id)"=> 3, "LEFT(id, 1) =" => 0) 
     )->get() 
     ->result_array(); 

Hoặc bạn chỉ có thể sử dụng $this->db->query("You SQL");

$query = "SELECT RIGHT(id, 1) id_root 
      FROM user 
      WHERE LENGTH(id) = ? 
      and LEFT(id, 1) = ? "; 
$result_arr = $this->db->query($query, array(3, 0))->result_array(); 
Các vấn đề liên quan