Php MySQL-有没有办法将表数据与给定字符串相匹配,而不是相反

Php MySQL-有没有办法将表数据与给定字符串相匹配,而不是相反,php,mysql,Php,Mysql,我想从迪士尼那里得到名字,名字在给定的字符串中。这有点像: SELECT * FROM disney; +++++++NAME+++++++ lion king cinderella the little mermaid +++++++++++++++++++ $string = "i love the movie lion king, it rocks!" 只有另一种方法(但我尝试时效果不好) 是否有MYSQL函数来检查表单元格中的数据是否存在于给定的字符串中 非常感谢!()我在用PHP

我想从迪士尼那里得到名字,名字在给定的字符串中。这有点像:

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

$string = "i love the movie lion king, it rocks!"
只有另一种方法(但我尝试时效果不好)

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


非常感谢!()我在用PHP

我认为以下方法应该有效(我记得曾经尝试过同样的方法,我想这就是我使用的方法):

有一个功能可以实现这一点:

'SELECT * FROM disney WHERE "' . $string . '" LIKE CONCAT("%",NAME,"%")';
您还可以尝试MySQL的搜索功能,该功能仅适用于MyISAM表:

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

这只会在query.OMG小马的右侧放置一个通配符,我已经更改了它以满足我的需要(concat(%,name,%)
SELECT*FROM disney WHERE name像“{$string}%”将双引号更改为单引号,这将起作用。
SELECT * FROM disney WHERE INSTR('i love the movie lion king, it rocks!', name) > 0
$query = "SELECT * FROM disney WHERE MATCH(NAME) AGAINST ('$text')";