如何比较MySQL查询中的字符串
我在编写mySql查询时遇到了一个问题 例如: 我有两个输入字段如何比较MySQL查询中的字符串,mysql,Mysql,我在编写mySql查询时遇到了一个问题 例如: 我有两个输入字段 Title=“现场直播” 作曲家=“麦当娜/米歇尔·杰克逊” 在我的数据库中,表包含以下记录 表名称:包含列标题和作曲家的歌曲 Title=“现场直播” 作曲家=“米歇尔·杰克逊/麦当娜” 我的问题是: select * from SONGS where title ='Live to Tell' and composer ='Madonna/Michel Jackson' 不返回结果。我在作曲者栏中互换了这个词 我的要求是
select * from SONGS
where title ='Live to Tell' and
composer ='Madonna/Michel Jackson'
不返回结果。我在作曲者栏中互换了这个词
我的要求是,即使我们交换单词,也要让它起作用
作曲家的内容以“/”分隔尝试使用php函数分解字符串
Madonna/Michel Jackson
。在查询中使用它之前
$composer = explode('/', 'Madonna/Michel Jackson');
这会将数组返回到$composer
中,如下所示:
array(
[0] => 'Madonna',
[1] => 'Michel Jackson'
)
要选择您可以使用的名称之一,$composer[0]或$composer[1]
SELECT * FROM songs WHERE title ='Live to Tell' AND composer LIKE "%$composer[1]%";
您可以在MySql上查看全文搜索功能:
但这可能还不足以满足您的条件,您需要外部搜索引擎,如弹性搜索。大声读出您的查询。一个标题怎么可能同时是“直播”和“麦当娜/米歇尔·杰克逊”?这看起来像是一项数据规范化的工作(除其他外)。在单个字段中存储多个值使它们成为单个值。