2015-10-27 150 views
-1

幫助我即時嘗試創建一個搜索欄爲我的系統,這不像谷歌搜索欄,它只是在我的數據庫中搜索並顯示結果我的數據庫只。我一直在尋找所有的互聯網,我甚至看了幾個小時的YouTube視頻和修復了很多小時,我也嘗試了許多不同的方法,我從互聯網和YouTube的來源,但仍然不工作。如果你們有任何資源可以幫助我,那將會很棒。非常感謝。警告:mysql_num_rows()期望參數1是資源,布爾給出在

詳細信息 在開始這種編碼有很多錯誤,然後我終於設法修復它,直到它只有1個錯誤,我不能這樣做了,我不知道什麼是錯,此代碼。我命名爲「租賃」和表數據庫,我想用的是「廣告」

我得到了我的「K」從我的形式有名字和id =「K」和值從用戶輸入抓起

<form action ='./MainResult.php' method='get'> 
    <input type ='text' name ='k' id='k' size='30' value='<?php echo $_GET["k"]; ?>' /> 
    <input type='submit' value='search' > 
    </form> 

對不起,我真的希望有人能幫我解決這個問題。

警告:mysql_num_rows()預計參數1是資源,在布爾C中給出:\瓦帕\ WWW \ RentalCar \ MainResult.php線路54上

「/>
<?php 
    $k=$_GET['k']; 

    $terms = explode(" ", $k); 
    $query = "SELECT * FROM search WHERE "; 

    foreach ($terms as $each){ 
     $i=0; 
     $i++; 

     if ($i == 1) 
      $query .= "SELECT * FROM advertisement WHERE keywords LIKE '%$each%' "; 
     else 
      $query .= "SELECT * FROM advertisement OR keywords LIKE '%$each%' "; 

    } 

    //Connect 
    mysql_connect("localhost", "root", ""); 
    mysql_select_db("rental"); 

    $query = mysql_query($query); 
    $numrows = mysql_num_rows($query); **<------ this was the line 54** 
    if ($numrows > 0){ 

     while ($row = mysql_fetch_assoc($query)){ 
      $Tittle = $row_advertisement['Tittle']; 
      $Brand = $row_advertisement['Brand']; 
      $Transmission = $row_advertisement['Transmission']; 

      echo "<h2>$tittle</h2> 
      $Transmission "; 

    } 

    } 
    else 
     echo "No result found for \"<b>$k</b>\""; 

?> 
+0

問題是與您的查詢的一部分。 –

+0

好吧,那麼最新的問題? – HesZrave

+0

打破搜索條件後,選擇將重複。所以避免這一點。 –

回答

0

你缺少的錯誤處理:

$query = mysql_query($query); 
if($query === false){ 
    //if the query fails, this will tell you the problem 
    echo "Error occured: ". mysql_error(); 
    //do further error-handling here 
} 
$numrows = mysql_num_rows($query); 

還要記住的是,MySQL的擴展是已棄用。使用較新的mysqli-extensioncross-DB-extension PDO代替

+1

是的錯誤處理,沒有在MySQLi上。相反,使用PDO!始終使用準備的語句。 http://code.tutsplus.com/tutorials/pdo-vs-mysqli-which-should-you-use--net-24059 –

+0

mysqli也支持預準備語句。我認爲決定使用哪一種是純粹基於意見的。將pdo添加到答案中 –

+0

發生錯誤:您的SQL語法中有錯誤;檢查與您的MySQL服務器版本相對應的手冊,在第1行選擇* FROM廣告WHERE關鍵字LIKE'%$ each%''附近使用正確的語法。 好吧,現在我知道問題了,我該怎麼辦? – HesZrave

相關問題