好的,我今天一直在为我的网站创建一个搜索功能,到目前为止一切都很顺利我发现了一个非常有帮助的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>
非常感谢所有帮助,谢谢
答案 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);
}
}
}
?>
我认为这可以帮助您解决问题。