CodeIgniter:添加到where子句

时间:2012-08-11 15:57:38

标签: php codeigniter expressionengine

我在ExpressionEngine中使用以下条件(使用CodeIgniter框架):

if ($group_id !== '')
    {
        $this->db->where("members.group_id", $group_id);
    }

我想在那里添加一个额外条件(一个AND),我该怎么做?我是否添加了新的$this->db->where('my_field', $my_value)?或者怎么样?

4 个答案:

答案 0 :(得分:2)

你猜对了。

if ($group_id !== '')
{
    $this->db->where("members.group_id", $group_id);
    $this->db->where('my_field', $my_value);
}

检查Codeigniter文档http://codeigniter.com/user_guide/database/active_record.html 这很好。

答案 1 :(得分:0)

// if (is_numeric($group_id) && $group_id > 0)
if ($group_id)
{
    $this->db->where("members.group_id", $group_id);
    $this->db->where('my_field', $my_value);
    // $this->db->where('my_field >=', $my_value);
    // $this->db->where('my_field <', $my_value);
}

答案 2 :(得分:0)

我所做的就是写出如下的查询:

$data = array('name' => $_POST['name'], 'lname' => $_POST['lname']);
$sql = "select table where name = ? and lname = ?";
$this->db->query($sql, $data);

之所以我更喜欢将其写出来,是因为一旦你最终用很多表连接编写非常复杂的查询,就很难读取活动记录查询。

答案 3 :(得分:0)

呀.....你可以试试这个:

if ($group_id !== '')
{
    $this->db->where("members.group_id", $group_id);
    $this->db->where('my_field', $my_value);
}
你也可以使用:

$this->db->or_where('my_field',$my_value);