我正在使用codeigniter在表'视频'中搜索布尔show_search设置为'1'且naslov或opis应该是LIKE php string $ query的视频。 $ query是用户在输入表单中传递的内容。
if($query) $this->db->where("show_search AND (naslov LIKE '%$query%' OR opis LIKE '%$query%')");
以上内容适用于大多数查询。
问题是当我在字符串中间有连字符的记录时:opis =“DORS / CLUC 2016 - LibreOffice在线移动”。
示例查询1:
SELECT * FROM video WHERE show_search AND (naslov LIKE '%DORS/CLUC 2016 - LibreOffice moves online%' OR opis LIKE '%DORS/CLUC 2016 - LibreOffice moves online%')
此返回是正确的查询。
示例查询2:
SELECT * FROM video WHERE show_search AND (naslov LIKE '%DORS/CLUC 2016 LibreOffice moves online%' OR opis LIKE '%DORS/CLUC 2016 LibreOffice moves online%')
不返回任何查询。
所以我的问题是,如果用户输入“DORS / CLUC 2016 LibreOffice在线移动”我如何将记录与连字符匹配(DORS / CLUC 2016 - LibreOffice在线移动)