[英]Where and Or Where clause in a single query ? Using codeigniter
這就是我要實現的目標: select * from 'mytable' where id=2 and where status=hold or status=reserved or status=deleted
如何在CodeIgniter 3.0中執行此操作?
我正在使用WAMP設置。
在CodeIgniter
您可以這樣使用:
$this->db->select();
$this->db->from('mytable');
$this->db->where('id',2);
$this->db->or_where('status','hold');
$this->db->or_where('status','reserved');
$this->db->or_where('status','deleted');
$query = $this->db->get();
$query->result_array(); // will return result in array format
也許這可以幫助:
$results = $this->db->where("id",2)->where_in('status',array("hold","deleted","reserved"))->get("mytable")->result();
在CodeIgniter中查詢:
$this->db->select();
$this->db->from('tbl_name');
$this->db->where('id',2);
$this->db->or_where('status','hold');
$this->db->or_where('status','reserved');
$this->db->or_where('status','deleted');
您可以為此使用$ this-> db-> query()。
$query= $this->db->query("select * from mytable where id=2 and (status='hold' or status='reserved' or status='deleted')");
$result=$query->result_array();
$this->db->select('*');
$this->db->from('mytable');
$this->db->where('id',2);
$this->db->where('status','hold');
$this->db->or_where('status','reserved');
$this->db->or_where('status','deleted');
$query = $this->db->get();
$query->result_array();
正確的SQL查詢是:
SELECT * FROM mytable WHERE id = '2' AND (status = 'hold'
OR status = 'reserved' OR status = 'deleted')
啊哈,明白了。 萬一有人在同樣的情況下掙扎,這里就是如何在CodeIgniter中處理它。
在CodeIgniter中,我們可以像這樣手動編寫自己的子句:
$where = "name='Joe' AND status='boss' OR status='active'";
$this->db->where($where);
您可以使用以下提到的查詢-
select * from tbl_name where id=2 and status in ('hold','reserved','deleted');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.