Ario Rakip Ario Rakip - 10 months ago 43
MySQL Question

Search words by similarity in MySQL query

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
and I search for this file, it will only show up if I search for the exact same word.

If I search for
it will show
, but if I search for
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
it shows up results that are similar to this word.

Thanks in advance.

Answer Source

Use LIKE operator with % for both end as follows

$SQL = "SELECT * FROM `data` WHERE name LIKE '%$search%';