Codeigniter:Query返回select / like语句中表中的所有行

时间:2016-03-25 19:06:31

标签: php mysql codeigniter

我按照本教程创建实时搜索功能:http://www.technicalkeeda.com/codeigniter-tutorials/live-search-using-jquery-ajax-php-codeigniter-and-mysql

我在模型中的查询返回表中的所有行。这是我的问题:

$query = $this->db->select('Key, FirstName, LastName, CompanyName')
                      ->like('FirstName', $search, 'both')
                      ->or_like('LastName', $search, 'both')
                      ->or_like('CompanyName', $search, 'both')
                      ->where('Deleted', 0)
                      ->from('AMOwners')
                      ->get();
return $query->result_array();

我想键入一个名称或公司名称的全部/部分名称,并将其与三列进行核对,以查看是否存在匹配项。但是当触发jquery函数开始轮询数据库时,它总是拉动所有行。我做错了什么?

1 个答案:

答案 0 :(得分:2)

您需要编写包含ANDOR语句的嵌套查询:

$query = $this->db->select('Key, FirstName, LastName, CompanyName')
                  ->where('Deleted', 0)
                  ->where("(FirstName LIKE '%$search%' OR LastName LIKE '%$search%' OR CompanyName LIKE '%$search%')")
                  ->from('AMOwners')
                  ->get();
return $query->result_array();