dongqiang4819 2016-10-23 08:09
浏览 98
已采纳

在MySQL查询中按相似性搜索单词[复制]

This question already has an answer here:

So I have this MySQL query:

$search = $_POST['search'];
$SQL = "SELECT * FROM `data` WHERE name='$search';
$rs = mysqli_query($dbconfig, $SQL);

I use this code to search data into the database, with the word that has been submitted by the form. The problem is, the query only shows up results if the search word matches the data in the database.

For example, if I have a file named advertisement.png and I search for this file, it will only show up if I search for the exact same word.

If I search for advertisement.png it will show advertisement.png, but if I search for advertisement it will not show up. What I want, is to search data that are similar to the key word provided in the form.

So if I search"advert" it shows up results that are similar to this word.

Thanks in advance.

</div>
  • 写回答

6条回答 默认 最新

  • 普通网友 2016-10-23 08:16
    关注

    Use LIKE operator with % for both end as follows

    $SQL = "SELECT * FROM `data` WHERE name LIKE '%$search%';
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?