2015-02-05 25 views
0

我正在製作一個搜索引擎,用於在布爾模式下進行全文搜索並匹配多列對'+ word1 + word2'的Android應用程序。 但是,我無法獲得任何搜索結果。全文搜索引擎,多列,布爾模式

E.g.搜索字段類型 - 「公海」 然後,Sql將搜索匹配...針對('+ open + sea'IN BOOLEAN MODE)

並顯示可選結果列表,點擊每個結果將提供詳細信息新頁面上的特定結果。

對不起,我是Android應用程序開發的新手。

這裏是我的search.php PHP代碼

<?php 

@ $db = new mysqli('localhost','username','password','db'); 

    if (mysqli_connect_errno()) { 
    echo 'Error: Could not connect to database. 
    Please try again later.'; 
    exit; 
    } 

if(!empty($_POST)){ 

    $term = $_POST['query']; 

    $words = explode(" ", trim($term)); 
    $termArray = array(); 
    foreach($words as $word){ 
     if(!empty($word)){ 
      $termArray[] = "+$word"; 
         } 
       } 
    $searchquery = implode(" ", $termArray); 

    if (!$term) { 
    echo 'You have not entered any search details. Please go back and try again.'; 
    exit; 
    } 
    //initial query 

    $query = "SELECT * 
       FROM servicetable 
        WHERE MATCH(title,cat,brand,company) 
         AGAINST ('".$searchquery."' IN BOOLEAN MODE) 
          ORDER BY title ASC"; 

    $result = $db->$query; 
    $num_results = $result->num_rows; 

    //show user what user searched. 
    echo $searchquery; 

    echo "<p>Results found: ".$num_results."</p>"; 

    //counts results.  
    if ($num_results == 0)  
    {  
     echo "Sorry, but we can not find an entry to match your query<br><br>";  
    }  

    for ($i=0; $i <$num_results; $i++) { 
    $row = $result->fetch_assoc(); 
    echo "<p><strong>".($i+1).". Outlet Name: "; 
    echo stripslashes($row['title']); 

    echo "</strong><br />Category: "; 
    echo stripslashes($row['cat']); 
    echo "<br />Opening Hours: "; 
    echo stripslashes($row['ophours']); 
    echo "<br />Brand: "; 
    echo stripslashes($row['brand']); 
      echo "</strong><br />Company: "; 
    echo stripslashes($row['company']); 
    echo "</p>"; 
    } 

    $result->free(); 
    $db->close(); 
} else { 
?> 
     <h1>Search</h1> 
     <form name="form1" action="search.php" method="post"> 
      Enter Search:<br /> 
      <input type="text" name="query" id="query" placeholder="Search a service"/> 
         <br/> 
      <input type="submit" value="Search Now" name="completedsearch" /> 
     </form> 

    <?php 
} 

?> 

回答

0

嗨,我發現我的錯誤:

此行修正 - >

$result = $db->query($query);