How to search using PHP and MySQL
php script to search your site with data from the database. Search by keywords.

Below is the php code that searches for several words in one request. This script splits the query into separate words and displays articles from your database in the form of a list with options that match the words in the search query.
DB =
id | title | description |
<?php
$connect = mysqli_connect('host', 'user', 'pass', 'tab');
//$query = mysqli_query($connect, "SELECT * FROM posts");
//while($row = mysqli_fetch_assoc($query)) echo "<h1>".$row['title']."</h1><p>".$row['description']."</p><br>";
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>test search</title>
</head>
<body>
<form method="post">
<input type="text" name="search" >
<input type="submit" name="submit" value="search">
</form>
<hr>
<?php
if(isset($_POST['submit'])){
$search = explode(" ", $_POST['search']);
$count = count($search);
$array = array();
$i = 0;
foreach($search as $key){
$i++;
if($i < $count) $array[] = "CONCAT (`title`, `description`) LIKE '%".$key."%' OR "; else $array[] = "CONCAT (`title`, `description`) LIKE '%".$key."%'";
}
$sql = "SELECT * FROM `posts` WHERE ".implode("", $array);
//echo $sql;
$query = mysqli_query($connect, $sql);
while($row = mysqli_fetch_assoc($query)) echo "<h1>".$row['title']."</h1><p>".$row['description']."</p><br>";
}
/* $query = mysqli_query($connect, "SELECT * FROM `posts` WHERE `title` LIKE '%$search%' OR `description` LIKE '%$search%' ");
while($row = mysqli_fetch_assoc($query)) echo "<h1>".$row['title']."</h1><p>".$row['description']."</p><br>";
}
?>
</body>
</html>