MySQL搜索过于“松散”

时间:2016-02-20 19:24:40

标签: php mysql search

好吧所以我创建了一个网站,仅仅是为了我正在做的项目。在这个网站上我有这个数据库,上面有几篇文章,我使用这个代码进行make查询:

<?php
if (!empty($_REQUEST['term'])) {

    $term = mysql_real_escape_string($_REQUEST['term']);     

    $sql = "SELECT * FROM articles WHERE title LIKE '%".$term."%'"; 
    $r_query = mysql_query($sql);

    while ($row = mysql_fetch_array($r_query)){ 
        echo $row['title'];
        echo $row['summary'];        
        echo $row['content']; 
        echo $row['publicationDate']; 

    }  

}
?>

问题在于搜索有点过于“松散”。站点连接的数据库有很多文章。我不喜欢的是,我在搜索框中搜索了字母'A',它出现在任何文章标题中出现字母'A'的任何实例。因此,澳大利亚,奥地利,阿富汗甚至厄瓜多尔都没有附上“A”字样的文章。它有点令人沮丧。你能救我吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试强制它成为字符串的开头或单词的开头:

$sql = "SELECT * FROM articles WHERE title LIKE '% ".$term."%' OR title LIKE '".$term."%'";