在InnoDB表列中搜索字符串

时间:2015-01-17 18:32:49

标签: mysql

我的事件表在InnoDB上运行,我希望我的网站用户能够搜索出现在事件标题和说明中的单词。在我的活动表中,我有两列“标题”和“描述”。

例如,如果我的用户想要查找“足球”:有没有办法编写在InnoDB表上成功执行此查询的SQL查询?我必须切换到MyISAM吗?

我不想切换到MyISAM,因为我无法设置外键。

1 个答案:

答案 0 :(得分:0)

只需在where子句中使用OR语句,并且Mihai建议在搜索词的任一侧使用LIKE和通配符'%'。

如果在PHP中,一旦您从用户捕获搜索词,请将其清理以确保安全性,然后将其置于如下查询中:

$sql = "SELECT id, headline, description FROM mytable a WHERE (a.headline LIKE '%".$sanitized_searchword."%' OR a.description LIKE '%".$sanatized_searchword."%')";