Php 使用CodeIgniter在数据库中搜索精确单词

Php 使用CodeIgniter在数据库中搜索精确单词,php,mysql,codeigniter,Php,Mysql,Codeigniter,我正在筛选一些数据,我有一个领域叫做“教员”,选项是“教授、副教授、研究教授”。。。等等。我的过滤适用于所有其他领域,但对于这个特定的案例,我遇到了麻烦,因为教授这个词出现在所有数据中,因此,我得到了所有与“教授”这个词匹配的数据,所以它没有过滤任何东西。我怎样才能做到只搜索特定的单词“教授”,而不搜索其他所有单词(研究教授、副教授 //我的代码 function get_search_filters($limit, $start, $search_faculty) { $this-&

我正在筛选一些数据,我有一个领域叫做“教员”,选项是“教授、副教授、研究教授”。。。等等。我的过滤适用于所有其他领域,但对于这个特定的案例,我遇到了麻烦,因为教授这个词出现在所有数据中,因此,我得到了所有与“教授”这个词匹配的数据,所以它没有过滤任何东西。我怎样才能做到只搜索特定的单词“教授”,而不搜索其他所有单词(研究教授、副教授

//我的代码

function get_search_filters($limit, $start, $search_faculty) 
{
    $this->db->order_by('lname', 'asc'); //order records by last name
    $this->db->limit($limit, $start);

    /* search keyword in all columns*/
    $this->db->like('faculty', $search_faculty);

    $query = $this->db->get('expertise');
    if ($query->num_rows() > 0) {
        foreach ($query->result() as $row) {
            $data[] = $row;
        }
        return $data;
    }
    return false;
}

使用
where
而不是像
那样使用
。在表格中添加一列“title\u id”,例如professor=0 research professor=1等。。。然后添加where子句以过滤所需的标题谢谢,我完全忘记了“where”存在一些例外情况,但一般来说,
where
在索引字段上的性能要比
like
好得多
$this->db->order_by('lname', 'asc'); //order records by last name
$this->db->limit($limit, $start);

$this->db->where('faculty', $search_faculty);
$query = $this->db->get('expertise');