簡體   English   中英

帶支架的CodeIgniter活動記錄

[英]CodeIgniter Active Record with bracket

我的請求數據庫活動記錄有問題。
我想創建一個查詢:
括號(在WHERE之后和4之后)和'Nadawca','%dor%'

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



如何做括號?

在此使用:

$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();

您只需添加限制和偏移量即可使用!

您可以在這里閱讀更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM