有可能做到:(条件1和条件2)或(条件3和条件4)在共同点中?
我试试:
$this->db->where(condition1 - condition2);
$this->db->or_where(condition3 - condition4);
但这是:(condition1 AND condition2)OR(condition3 OR condition4)
答案 0 :(得分:4)
只需在你的
中写出来$this->db->where("(condition1 AND condition2) OR (condition3 AND condition4)");
这仍然会转义数据,你不必愚弄or_where方法。
答案 1 :(得分:1)
你试试这样:::::?
$this->db->where(COND1);
$this->db->where(COND2);
$this->db->or_where(COND3);
$this->db->where(COND4);
答案 2 :(得分:1)
$first="(COND1 AND COND2)";
$second= "(COND3 AND COND4)";
$query=$this->db->where($first)->or_where($second)->get();
答案 3 :(得分:1)
是的,为方便起见,可以将您想要使用的任何条件纳入一个变量
$where ="(condition 1 AND condition2) OR (condition3 AND condition4)";
$this->db->where($where);
答案 4 :(得分:0)
只需使用正常的查询:
$query="SELECT *
FROM table1 INNER JOIN table2 on table1.col=table2.col
WHERE (table1.whatever=? AND table1.hello=?) OR (table2.foo=? AND table2.pizza=?)
LIMIT 1";
$params=array();
$params[]='whatever';
$params[]='world';
$params[]='bar';
$params[]='cheese';
$result=$this->db->query($query,$params);
$result=$result->result_array();
print_r($result);
答案 5 :(得分:0)
如果您使用的是PHP5,则以下代码将解决您的问题。
$this->db->select("*")
->where("condition_1 && condition_2")
->or_where("condition_3 && condition_4");
或者使用以下代码也可以。
$this->db->where("condition_1 ");
$this->db->where("condition_2");
$this->db->or_where("condition_3 ");
$this->db->where("condition_4 ");