使用空格搜索字符串

时间:2015-04-21 09:33:08

标签: php string

我的问题是我无法用空格搜索。搜索字词包含在我的网址中:http://prosjektdatabasen.com/index.php?url=search&query=fish+chips 结果没有回报。只有当我用一个字时......有什么建议吗?

<form action="index.php" method="GET">
             <input type="hidden" name="url" value="search" /> 
    <input type="text" name="query" class="text" placeholder="Søk etter prosjekter.." style="height:12px;"/>
    <input type="submit" value="" class="search-button" />
</form>

$query = $_GET['query']; 

$min_length = 2;


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

    $query = htmlspecialchars($query); 


    $query = mysql_real_escape_string($query);


    $raw_results = mysql_query("SELECT *, account_created FROM users
        WHERE (`username` LIKE '%".$query."%') OR (`motto` LIKE '%".$query."%')ORDER BY account_created DESC") or die(mysql_error());
     $num_rows = mysql_num_rows($raw_results);

2 个答案:

答案 0 :(得分:1)

试试这个:

$queries = explode("+", $_GET['query']);
  $raw_results = mysql_query("SELECT *, account_created FROM users
    WHERE (`username` LIKE '%".$queries[0] ."%') OR (`username` LIKE '%".$queries[1] ."%') OR (`motto` LIKE '%".$queries[0]."%') OR (`motto` LIKE '%".$queries[1]."%') ORDER BY account_created DESC") or die(mysql_error());

答案 1 :(得分:0)

这是URL编码和解码问题,空格和其他特殊字符将被转换为安全等价物。

您需要解码网址

<?php
    $varr = preg_replace("/%u([0-9a-f]{3,4})/i","&#x\\1;",urldecode($url)); 
    $varr = html_entity_decode($url,null,'UTF-8');
?>

<强>更新

$query = $_GET['query'];
echo utf8_decode(urldecode( $query));

<强>输入:

$query = "fish+chips";

<强>输出:

fish chips
相关问题