2014-12-07 140 views
-2

試圖通過相同的搜索按鈕返回兩個不同的值類型。我試圖搜索的兩個值是一個字符串標題,並通過我的MySQL數據庫中的一個自動遞增的ID進行搜索。警告:mysql_fetch_assoc()期望參數1是資源,布爾型

我不確定哪個是通過同一搜索框包含兩個搜索參數的最佳方法。

任何人都可以幫忙嗎?

$search = mysql_real_escape_string(trim($_POST['keywordsearch'])); //removes whitespace in searchbox 

$find_titles = mysql_query ("SELECT * FROM `catalogue` WHERE `keywords` LIKE'%$search%' OR WHERE `id` LIKE'%$search'"); 
//Searches for anything with inputted character 

?> 
<h1>Search Results</h1> 

<table id='table'> 
    <table width="600" border="1" cellpadding="2" cellspacing="2"> 

    <tr> 
     <th>ID</th> 
     <th>Title</th> 
     <th>Stock</th> 
     <th>Cost</th> 
    </tr> 

    <?php 

while ($row = mysql_fetch_assoc($find_titles)) 
{ 
     echo "<tr>"; 
      echo "<td>".$row['id']."</td>"; 
      echo "<td>".$row['title']."</td>"; 
      echo "<td>".$row['quantity']."</td>"; 
      echo "<td>".$row['price']."</td>"; 
     echo "</tr>"; 
    }// end While 

echo "</table>"; ?> 
} 

?> 

錯誤消息:警告:mysql_fetch_assoc()預計參數1是資源,在布爾行中給出34 **(而($行= mysql_fetch_assoc($ find_titles)

+0

您正在使用[an **過時的**數據庫API](http://stackoverflow.com/q/12859942/19068)並應使用[現代替換](http://php.net/manual/) EN/mysqlinfo.api.choosing.php)。 – Quentin 2014-12-07 13:08:01

+0

這不是同一個問題,因爲我試圖使用從同一搜索輸入的語句獲取兩種不同類型的參數 – hduncan 2014-12-07 13:12:26

+0

這是同一個問題。您正在創建一個SQL查詢,並且當您嘗試從響應中讀取數據時失敗。你還沒有測試過這個響應,看看MySQL是否拋出了一個錯誤。你沒有看到MySQL拋出的錯誤消息。同樣的問題。 – Quentin 2014-12-07 13:21:00

回答

0

無需添加WHERE兩次。使用它一次。

$find_titles = mysql_query ("SELECT * FROM `catalogue` WHERE `keywords` LIKE '%$search%' OR `id` LIKE '%$search'"); 

同時建議你加入這樣的前while循環

012報告錯誤
+0

感謝您的回覆,搜索正在獲取具有給定ID的值,但它將返回所有具有該值的值。例如3,13,23 – hduncan 2014-12-07 13:58:19

相關問題