簡體   English   中英

單個查詢中的Where和Or Where子句? 使用codeigniter

[英]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

CodeIgniter用戶指南

也許這可以幫助:

$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.

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