PHP SQL搜索系统

时间:2011-12-02 14:38:19

标签: php mysql sql search

我正在尝试构建一个搜索系统。我使用的是mySQL系统,但是我没什么经验,我也不太明白。

  • 我想通过名为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>';

}

}

?>

2 个答案:

答案 0 :(得分:1)

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

“ORDER”运算符之前有意外的“)”。

答案 1 :(得分:0)

ORDER BY之前有一个空心括号。也许这就是导致问题的原因