首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用PHP搜索MYSQL并在字段中精确匹配

问用PHP搜索MYSQL并在字段中精确匹配
EN

Stack Overflow用户
提问于 2013-09-18 22:12:18
回答 3查看 2.3K关注 0票数 0

我有一个名字字段。它由名字和姓氏组成。所以让我们说(Jerry Jones)是名字。当他们搜查杰瑞的时候,它还是出现了。但我想让它只进行精确搜索。他们必须放入(杰里·琼斯)...Reason,可能会有两个杰里,然后他们都会出现。或者在我的搜索表单中有一种方法可以告诉我你想要哪个Jerry,并给我他们的结果。那么一旦他们选择了正确的页面,它就会重定向到新的带有结果的页面?

这是表格

代码语言:javascript
复制
<form action="search.php" method="GET">
<input type="text" name="query" />
<input type="submit" value="Search" />
</form>

搜索

代码语言:javascript
复制
<?php
mysql_connect("localhost", "username", "password") or die("Error connecting to database: ".mysql_error());


mysql_select_db("ambassador") or die(mysql_error());


    $query = $_GET['query'];


$min_length = 3;


if(strlen($query) >= $min_length){ 

    $query = htmlspecialchars($query);


    $query = mysql_real_escape_string($query);


    $raw_results = mysql_query("SELECT * FROM member
        WHERE (`Name` LIKE '%".$query."%')") or die(mysql_error());



    if(mysql_num_rows($raw_results) > 0){ 

        while($results = mysql_fetch_array($raw_results)){



        }


    }
    else{ 
        echo "No results";
    }

}
else{ 
    echo "Minimum length is ".$min_length;
}
?>

谢谢

EN

回答 3

Stack Overflow用户

发布于 2013-09-18 22:14:19

尝试:

代码语言:javascript
复制
mysql_query("SELECT * FROM member WHERE Name='$query'")

这应该会产生一个精确的匹配,这就是我相信你想要的,可能会有一个意外的副作用,那就是太有限了。

票数 1
EN

Stack Overflow用户

发布于 2013-09-18 22:15:15

您的SQL语句不正确:如果您想准确地查询Jerry Jones,您应该这样做: SELECT * FROM members WHERE name = "$query“。

票数 0
EN

Stack Overflow用户

发布于 2013-09-18 22:33:51

尝试使用MATCH而不是LIKE

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18874572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档