我在编写mySql查询时遇到问题。
示例:
我有两个输入字段。
在我的数据库表中包含以下记录
表名:带标题和作曲家列的歌曲
我的查询:
select * from SONGS
where title ='Live to Tell' and
composer ='Madonna/Michel Jackson'
不返回结果。我在作曲家提交的那个词中互换了。
我的要求是即使我们交换单词也能使它工作。
作曲家内容由'/'
分隔答案 0 :(得分:1)
尝试使用php函数explode()
爆炸字符串Madonna/Michel Jackson
。在查询中使用它之前。
$composer = explode('/', 'Madonna/Michel Jackson');
这会将一个数组返回$composer
,如下所示:
array(
[0] => 'Madonna',
[1] => 'Michel Jackson'
)
选择一个可以使用的名称$composer[0] or $composer[1]
SELECT * FROM songs WHERE title ='Live to Tell' AND composer LIKE "%$composer[1]%";
答案 1 :(得分:0)
您可以在MySql上查看全文搜索功能:https://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html
但可能这对你的情况来说还不够,你需要像弹性搜索这样的外部搜索引擎。