如何使用PHP和MySQL中的任何字符从表中搜索

时间:2016-07-11 06:12:05

标签: php mysql

我有一个问题。我正在使用PHP和MySQL将字母作为输入来搜索表中的数据。我在搜索时遇到了一些问题。我在下面解释我的代码。

$searchKey=$_GET['searchKey'];
$keyword = $searchKey.'%';
$sql =mysqli_query($connect,"SELECT * FROM  db_restaurant_basic WHERE rest_name LIKE '".$keyword."' and special='".$special_id."' and city='".$city_id."' and status=1 ORDER BY member_id DESC ");

这里如果可以使用直接名称,则搜索功能可以正常工作。假设我有一个rest_name The Joyce,我想搜索它。当用户将名称直接放在The Joyce or The之后,那么它的工作正常,但如果用户正在搜索这样的Joyce,那么只有它不起作用,但它应该有效。同样,还有另一个rest_name Toad 'n' Turtle。如果用户将放置Toad or 'n' or Turtle它应该工作,这在我目前的情况下不起作用。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

$keyword = $searchKey.'%';

在这种情况下,它只搜索以" $ keyword"

开头的单词
$keyword = '%'.$searchKey;

在这种情况下,它只搜索以" $ keyword"

结尾的单词

如果要选择包含" $ keyword"的所有单词 你必须将searchKey改为

$keyword = '%'.$searchKey.'%';