【发布时间】:2013-07-01 18:21:26
【问题描述】:
我正在尝试进行搜索查询以查看文本区域是否包含一些关键字。尽管将我的 textarea 值插入到查询中,但我遇到了一些麻烦。
这是我的查询:
$match = $this->input->post('wStory');
$this->db->where("`terms` LIKE '%$match%'");
$query = $this->db->get('filter_tbl');
return $query->num_rows();
$match 是我的文本字段,我一直在尝试做的是拆分里面的单词,然后遍历每个单词。我尝试过使用 PHP 的 explode() 函数,该函数可以工作,但在这种情况下它不起作用,因为它将字符串转换为数组。
有什么方法可以将我的 textarea 中的字符串拆分为单词并遍历 like 语句中的单词,或者我只是缺少什么?
【问题讨论】:
-
每个条目是否只包含一个单词?
-
也许不是使用 sql-where 函数,全文搜索可能更有用
-
@Trent 不,它有多个。我有一个全文,如果你在匹配的地方放一两个词就可以了。
-
@Martijn 我正在搜索的列上有全文
-
你不能只使用 preg_match_all() 吗?检查stackoverflow.com/questions/10684183/…。然后做一个 implode(",",$textareaArea)...?
标签: php mysql string codeigniter activerecord