我的事件表在InnoDB上运行,我希望我的网站用户能够搜索出现在事件标题和说明中的单词。在我的活动表中,我有两列“标题”和“描述”。
例如,如果我的用户想要查找“足球”:有没有办法编写在InnoDB表上成功执行此查询的SQL查询?我必须切换到MyISAM吗?
我不想切换到MyISAM,因为我无法设置外键。
答案 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."%')";