2011-12-02 76 views
1

我想構建一個搜索系統。我使用了一個mySQL系統,但我沒有什麼經驗,我不太明白。PHP SQL搜索系統

  • 我想現場的數據庫名爲POST_TITLE進行搜索,然後獲取URL,日期
  • 我也希望能夠通過標籤進行搜索。爲此,我們需要加入表wp_term_relationships,這將爲我們提供一個包含帖子ID的列和一個包含標籤ID的列。由此我們可以確定哪些標籤適用。

我嘗試用悽慘致命錯誤

<?php 

$proto = $_GET['proto']; 
$terms = $_GET['f']; 

if($proto == 'inline'){ 

    $searchpattern = mysql_real_escape_string(strtoupper($terms)); 

    $list = mysql_query("SELECT id, 
      post_title, post_date 
FROM  wp_posts 
WHERE  post_title LIKE '%$searchpattern%' 
) 
    ORDER BY post_date;"); 

while ($row = mysql_fetch_array($list)) { 
    $title = $row['post_title']; 
    $date = $row['post_date']; 
    $url = $row['guid']; 

    $date = date($date, 'd M Y'); 

    $return .= '<li> 
       <a href="#sidebar3" onClick="slide(this); return false" title="" rel="'.$id.'" style="line-height:16px;">'.$firstname.' '.$lastname.'<br /><span style="font-size:10px; color:#555;">'.$email.'</span></a> 
      </li> 



      <div class="title"><b>SEARCH RESULTS</b></div> 
    <a href="'.$url.'"><img src=""/>'. $title .' - <span>'. $date .'</span></a>'; 

} 

} 

?> 
+0

致命錯誤說的是什麼? –

+0

你能複製/粘貼錯誤嗎?另外,爲什麼你的查詢中有一個括號「)」? – jValdron

回答

1
$list = mysql_query("SELECT id, post_title, post_date 
FROM wp_posts 
WHERE post_title LIKE '%$searchpattern%') ORDER BY post_date;"); 

你有意外的 「)」 前的 「訂單」 操作失敗。

+0

答案的第二部分不正確。只要整個查詢使用雙引號,只要在搜索模式中保留單引號即可。 – jjs9534

+0

@ jjs9534謝謝你糾正我:) – hungneox

0

在ORDER BY之前有一個開放的括號。也許這就是導致問題的原因

+0

關閉支架... – MatBailie