1
我已经搜索过类似的问题,我可以找到类似的问题。然而,似乎没有人回答我的问题。我对PHP完全陌生,无法找到我的查询返回FALSE的原因。 我的错误: mysqli_num_rows()预计,在第17行中[指南]给定参数1被mysqli_result,布尔MySQLi_query返回布尔值的问题
我的代码:
<?php
$con=mysqli_connect("fdb17.biz.nf","XXXX", "XXXX","2337985_searchengine", "3306");
$testdb=mysqli_select_db($con,"searchengine");
if(isset($_POST['search_query'])){
$search_query=mysqli_real_escape_string($con,htmlentities($_POST['search_query']));
echo "<div class=\"searchText\">Search</div><hr/>";
$search_query_x=explode(" ",$search_query);
$query="";
foreach($search_query_x as $search_each){
if($search_query_x)
$query="keywords LIKE '%$search_each%'";
else
$query.="AND keywords LIKE '%$search_each%'";
}
$query="SELECT * FROM search WHERE $query";
$result=mysqli_query($con,$query);
$nr=mysqli_num_rows($result);
if($nr==0){
echo "Sorry, there are no matching result for <b>$search_query</b><br>
1.Try more general words.<br>
2.Try different words with similar meaning.<br>
3.Please check your spelling.<br>";
}
else
{
echo "$nr results found !<p>";
while($rr=mysqli_fetch_assoc($run))
{
$title=$rr['title'];
$desc=$rr['desc'];
$url=$rr['url'];
echo"
<div class='width: 400px;'>
<div class='title'><a href='$url'><b>$title</b></a></div>
<div class='desc'>$desc</div>
<div class='url'>$url</div>
</div><br>
";
}
}
}
?>
如果任何人能发现这将是巨大的问题。
更新后的前几个评论,但仍然得到同样的问题:
<?php
$con=mysqli_connect("XXXX","XXXX", "XXXX","XXXX", "XXXX");
$testdb=mysqli_select_db($con,"searchengine");
if(isset($_POST['search_query'])){
$search_query=mysqli_real_escape_string($con,($search_each));
echo "<div class=\"searchText\">Search</div><hr/>";
$search_query_x=explode(" ",$search_query);
$query="";
foreach($search_query_x as $search_each){
if($query == '')
$query="keywords LIKE %$search_each%";
else
$query="AND keywords LIKE %$search_each%";
}
$query="SELECT * FROM search WHERE $query";
$result=mysqli_query($con,$query);
$nr=mysqli_num_rows($result);
if($nr==0){
echo "Sorry, there are no matching result for <b>$search_query</b><br>
1.Try more general words.<br>
2.Try different words with similar meaning.<br>
3.Please check your spelling.<br>";
}
else
{
echo "$nr results found !<p>";
while($rr=mysqli_fetch_assoc($run))
{
$title=$rr['title'];
$desc=$rr['desc'];
$url=$rr['url'];
echo"
<div class='width: 400px;'>
<div class='title'><a href='$url'><b>$title</b></a></div>
<div class='desc'>$desc</div>
<div class='url'>$url</div>
</div><br>
";
}
}
}
?>
那么,很可能你通过字符串操作构造的sql查询不起作用。尝试转储它并手动执行它。怎么了? – arkascha
我希望那些不是实际的登录凭证。如果他们是,你最好现在就去改变他们。编辑:已编辑出来,但仍会出现在修订中。 –
告诉我,DB参数不是真正的! ('登录凭据',感谢Fred-ii) – OldPadawan