【问题标题】:How to Add dynamic where clause in codeigniter query如何在 codeigniter 查询中添加动态 where 子句
【发布时间】:2014-08-23 12:46:11
【问题描述】:

我正在使用 codeigniter 并尝试进行动态查询, 现在我的查询看起来像

$query = $this->db->select('name')->get('user');
$result_array = $query->result_array();

我的问题是,如何根据变量值添加动态 where 子句? 所以代码看起来像

$query = $this->db->select('name')->get('user');
if(isset($name))
{
  //add where clause here, to select specific name
}
$result_array = $query->result_array();

【问题讨论】:

    标签: php mysql sql codeigniter


    【解决方案1】:

    只需在 if 语句中调用 where(),然后再调用 get()

    $this->db->select('name');
    
    if(isset($name))
    {
        //add where clause here, to select specific name
        $this->db->where('name', $name);
    }
    
    $query = $this->db->get('user');    
    $result_array = $query->result_array();
    


    文档:

    https://www.codeigniter.com/user-guide/database/active_record.html

    【讨论】:

    • 不知道你所说的单行查询是什么意思。如果您指的是方法没有被链接的事实,是的,它会起作用。
    【解决方案2】:
    $this->db->select('name');
    $name = $this->input->post('name');
    if(isset($name) &&  $name  != '' && !empty($name))
    {
    
        $this->db->where('name',$name );
    }
    
    $query = $this->db->get('user');    
    $result_array = $query->result_array();
    

    通过codeigniter中的onece活动记录

    https://www.codeigniter.com/user-guide/database/active_record.html

    【讨论】:

      猜你喜欢
      • 2010-09-15
      • 2018-09-07
      • 1970-01-01
      • 2012-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多