2016-05-23 42 views
2

我已經寫了一段代碼,但我似乎無法使它工作。我確實與我的數據庫有聯繫。當我提交表格時,它會轉到else區塊(echo "Geen resultaat gevonden voor \"<b>$s</b>\"";爲什麼我的PHP搜索引擎不能找到任何記錄?

我在做什麼錯我的代碼?我還添加了我的數據庫的屏幕截圖。

<body> 

     <h2> hier komt een kleine foto</h2> 
     <form action='./search.php' method='get'> 
      <input type='text' name='s'size='50' value='<?php echo $_GET['s']; ?>' /> 
      <input type='submit' value='Zoek'/> 
     </form> 
     <hr /> 
     <?php  
      $s = $_GET['s'];    
      $terms = explode (" ", $s); 
      $query = "SELECT * FROM 'ID' WHERE "; 

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

       if ($i ==1) 
        $query .= "keywords LIKE '%$each%' "; 
       else 
        $query .= "OR keywords LIKE '%$each%' "; 
      } 
      //connect to database 
      mysql_connect("server", "username", "password"); 
      mysql_select_db("database"); 

      $query = mysql_query($query); 
      $numrows = mysql_num_rows($query); 
      if(numrows > 0){ 

       while($row = mysql_fetch_assoc($query)){ 
        $id = $row['id']; 
        $photo = $row['photo']; 
        $title = $row['title']; 
        $description = $row['description']; 
        $price = $row['price']; 
        $Link = $row['Link']; 
        $keywords = $row['keywords']; 

        echo "<h2><a href='$Link'>$title</a></h2> 
        $description<br /><br />"; 
       } 

      } 
      else 
       echo "Geen resultaat gevonden voor \"<b>$s</b>\""; 

      //disconect 
      mysql_close(); 
     ?> 
</body> 
</html> 

enter image description here

+1

這對我的眼睛來說很痛苦。你很容易[sql注入,xss,] –

+0

爲什麼?你可以幫我請我與這個新的 –

+0

沒關係,現在不用擔心 –

回答

0

您好像numrows在此行之前缺少$

if(numrows > 0){ 
3

你有幾個問題。

  • if(numrows > 0){應該看$numrows
  • $query = "SELECT * FROM 'ID' WHERE " - 你已經在單引號包裹你的表名。這會導致語法錯誤 - 考慮改爲反引號(`)或完全刪除引號。
  • 您不應該使用mysql_*函數 - 它們由於某種原因而被棄用。 PHP manual建議您使用mysqli_*函數或PDO。

第一個問題會解決您當前的問題,但第二個問題更爲重要,您應該進一步研究。

看起來您對PHP和MySQL相當陌生 - 因此這是您正確學習它的好機會。

+0

多數民衆贊成我很想看看, 我有一個小問題,我已經添加bigblob存儲圖像是很難顯示這與我目前的「代碼」? –

+1

@RobinSmiet不要這樣做。數據庫並不擅長存儲大型二進制對象,並且這些對象會使維護和/或備份數據庫變得極爲困難。將圖像存儲爲文件,並將路徑存儲到數據庫中。 – duskwuff

+0

@duskwff謝謝你的提示 –