MySQL - 有没有办法将表数据与给定的字符串相匹配,反之亦然

时间:2009-11-30 15:40:52

标签: php mysql

SELECT * FROM disney;
+++++++NAME+++++++
lion king
cinderella
the little mermaid
+++++++++++++++++++

$string = "i love the movie lion king, it rocks!"

我想从迪士尼获取NAME,其中NAME在给定字符串中。它有点像:

'SELECT * FROM disney WHERE NAME LIKE "%'.$string.'%";'

只是反过来(但是当我尝试它时效果不好)。

是否有MYSQL函数来检查表格单元格中的数据是否存在于给定字符串中?

非常感谢! ()。我正在使用 PHP

3 个答案:

答案 0 :(得分:1)

我认为以下内容应该有用(我记得尝试过一次,我认为这就是我用过的):

'SELECT * FROM disney WHERE "' . $string . '" LIKE CONCAT("%",NAME,"%")';

答案 1 :(得分:1)

INSTR函数应该适用于此:

SELECT * FROM disney WHERE INSTR('i love the movie lion king, it rocks!', name) > 0

答案 2 :(得分:0)

您还可以尝试MySQL的FULLTEXT搜索功能,该功能仅适用于MyISAM表:

$query = "SELECT * FROM disney WHERE MATCH(NAME) AGAINST ('$text')";