用Jquery进行实时搜索

时间:2010-03-23 22:00:44

标签: php jquery mysql

我正在尝试在我的网站上实施实时搜索。

我正在使用某人已创建的脚本。 http://www.reynoldsftw.com/2009/03/live-mysql-database-search-with-jquery/

我有Jquery,css,html正常工作但是我遇到了麻烦。

我需要更改它以包含我的数据库信息,但每次我都收到错误:

警告:mysql_fetch_array()要求参数1为资源,在第33行的C:\ wamp \ www \ search.php中给出布尔值

以下是我的数据库的详细信息:

数据库名称:开发

表名:链接

列:id,sitename,siteurl,description,category

这是php脚本

<?php

$dbhost = "localhost";
$dbuser = "root";
$dbpass = "password";
$dbname = "links";

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die                      ('Error connecting to mysql');
mysql_select_db($dbname);

if(isset($_GET['query'])) { $query = $_GET['query']; } else { $query = ""; }
if(isset($_GET['type'])) { $type = $_GET['type']; } else { $query = "count"; }

if($type == "count")
{
    $sql = mysql_query("SELECT count(url_id) 
                                FROM urls 
                                WHERE MATCH(url_url, url_title, url_desc)
                                AGAINST('$query' IN BOOLEAN MODE)");
    $total = mysql_fetch_array($sql);
    $num = $total[0];

    echo $num;

}

if($type == "results")
{
    $sql = mysql_query("SELECT url_url, url_title, url_desc 
                                FROM urls 
                                WHERE MATCH(url_url, url_title, url_desc)
                                AGAINST('$query' IN BOOLEAN MODE)");
    while($array = mysql_fetch_array($sql)) {

        $url_url = $array['url_url'];
        $url_title = $array['url_title'];
        $url_desc = $array['url_desc'];

        echo "<div class=\"url-holder\"><a href=\"" . $url_url . "\" class=\"url-title\" target=\"_blank\">" . $url_title . "</a>

    <div class=\"url-desc\">" . $url_desc . "</div></div>";

    }

}

mysql_close($conn);

?>

有人可以帮我正确输入这些数据库信息吗?我已经尝试了很多次但是一直出错。提前谢谢。

编辑:它正在连接到数据库而没有错误。在这里查看http://movieo.no-ip.org/

3 个答案:

答案 0 :(得分:1)

mysql_query()调用失败返回false而不是资源。我敢打赌,mysql_select_db()失败了。这应该显示错误:

mysql_select_db($dbname) or die('Couldn\'t select DB: '.mysql_error());

答案 1 :(得分:1)

比较:数据库名称:开发到$ dbname =“links”;

我认为你应该把它改成正确的名字。

答案 2 :(得分:0)

除了将$ dbname更改为开发之外,还要检查两个SQL语句。他们从表urls而不是links中选择。