2014-10-17 134 views
1

我对请求数据库Active Record有问题。
我想创建的查询:
支架(后WHERE和4之后)和 'Nadawca', '%多尔%'CodeIgniter带括号的活动记录

 SELECT * 
FROM (`30px__przesylki`) 
WHERE (`test` = 0 
AND `Status` = 4) 
AND (`Nadawca` LIKE '%dor%' 
OR `Odbiorca` LIKE '%dor%' 
OR `NrPrzesylki` LIKE '%dor%' 
OR `Uwagi` LIKE '%dor%' 
OR `Opis` LIKE '%dor%' 
OR `Tracking` LIKE '%dor%' 
OR `Error` LIKE '%dor%') 
ORDER BY `id` asc 
LIMIT 10

我在CI做:

$this->db->order_by("id", "asc"); 
     $this->db->limit($ile,$offset); 
     $this->db->like('Nadawca', $search); 
     $this->db->or_like('Odbiorca', $search); 
     $this->db->or_like('NrPrzesylki', $search); 
     $this->db->or_like('Uwagi', $search); 
     $this->db->or_like('Opis', $search); 
     $this->db->or_like('Tracking', $search); 
     $this->db->or_like('Error', $search); 
     $this->db->where('Status', 4); 
     $query = $this->db->get('przesylki'); 


接收请求不带括号:

SELECT * 
    FROM (`30px__przesylki`) 
    WHERE `test` = 0 
    AND `Status` = 4 
    AND `Nadawca` LIKE '%dor%' 
    OR `Odbiorca` LIKE '%dor%' 
    OR `NrPrzesylki` LIKE '%dor%' 
    OR `Uwagi` LIKE '%dor%' 
    OR `Opis` LIKE '%dor%' 
    OR `Tracking` LIKE '%dor%' 
    OR `Error` LIKE '%dor%' 
    ORDER BY `id` asc 
    LIMIT 10 



如何使括号?

回答

0

使用本来自:

$sql = "SELECT * FROM 30px__przesylki 
WHERE test = 0 AND Status = 4 
AND (Nadawca LIKE ? OR Odbiorca LIKE ? 
OR NrPrzesylki LIKE ? 
OR Uwagi LIKE ? 
OR Opis LIKE ? 
OR Tracking LIKE ? 
OR Error LIKE ?) 
ORDER BY id asc 
LIMIT 10"; 
$result = $this->db->query($sql, array($search, $search, $search, $search, $search, $search, $search)); 
return $result->result_array(); 

你刚才还添加了限制和偏移,它会作品!

更多信息您可以阅读here

相关问题