Php搜索功能返回错误

时间:2013-01-05 20:01:58

标签: php search

好的,我今天一直在为我的网站创建一个搜索功能,到目前为止一切都很顺利我发现了一个非常有帮助的youtube教程,我把所有代码都放到了search.php文件中。 / p>

但我收到这些错误,或许有人可以向我解释这些错误并提供可能的帮助

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/content/34/9587634/html/MyDomain.Com/search.php on line 21

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /home/content/34/9587634/html/MyDomain.Com/search.php on line 25

这是我正在使用的代码。我试过搜索,似乎无法找到问题

<html>
<?php
$k = $_GET['k'];
$terms = explode(" ", $k);
$query = "SELECT * FROM content WHERE ";

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

if ($i == 1)
$query .= "content LIKE '%$each%' ";
else
$query .= "OR content LIKE '%$each%' ";
}


include('config.php');


$query = mysql_query($query);
$numrows = mysql_num_rows($query);


while ($row = mysql_fetch_assoc($query)) {
$FirstName = $row['FirstName'];

}

?>
</html>

非常感谢所有帮助,谢谢

2 个答案:

答案 0 :(得分:0)

如果查询包含错误,则

mysql_query()重新出现FALSE。因此,您尝试执行查询 mysql_query($ query),并且mysql_query返回FALSE(可能)。函数mysql_num_rows()需要一个参数,它必须是mysql_query()函数的结果。 NOT BOOLIAN。

但$ query是FALSE。

FALSE是BOOLIAN。

答案 1 :(得分:0)

试试以下示例:

<?php

if($_GET['k'])
{
    $terms = explode(" ", $k);

        foreach ($terms as $value) {

        if($value=='') $q.=""; else $q.="(`content-value` LIKE '%$value%' OR `content-value` LIKE '%$name%') ";

        if($q=="") $total=0;

    else
    {
        $search = "SELECT * FROM ".CONTENT." WHERE".$q;
        $search = str_replace('WHERE','WHERE ',$search);
        $search_res = mysql_query($search) or die("Search: ".$search.mysql_error());
        $total = mysql_num_rows($search_res);
    }
    }
}
?>

我认为这可以帮助您解决问题。