我想在foreach循环中使用数组但是失败了,这是我的代码:
foreach($this->db->get_where('mytable', array('result' => '1 or 2', 'id' => 'foo'))->result_array()
我认为'result' => '1 or 2'
篇有问题,但我无法找到如何在这种foreach中使用数组。
我想说SELECT * WHERE RESULT = 1 OR 2, ID = FOO IN MYTABLE
提前致谢。
答案 0 :(得分:3)
您可以使用以下活动记录。
$arrResult = $this->db
->where('id','foo')
->where_in('result',array(1,2))
// alternative to above condition
//->where('(result = 1 OR result = 2)')
->get('mytable')
->result_array();
foreach($arrResult as $result){
// run code based on $result;
}
答案 1 :(得分:0)
我不知道codeigniter如何,但你的foreach看起来不对。
尝试:
$resultArray = $this->db->get_where('mytable', array('result' => '1 or 2', 'id' => 'foo')->result_array();
foreach($resultArray as $result){
// run code based on $result;
}
这是foreach陈述应该看的方式。
从codeigniter手册我得到了这个database manual
$this->db->select('*');
$this->db->from('mytable');
$where = "ID = FOO and RESULT = 1 OR RESULT = 2";
$this->db->where($where);
$resultArray = $this->db->result_array();
foreach($resultArray as $result){
// run code based on $result;
}
答案 2 :(得分:0)
如果你这样做会更干净:
$result = $this->db->where('id', 'foo')->where_in('result', array(1, 2))->get('mytable')->result_array();
foreach($result as $r) {
}