【发布时间】:2015-07-24 23:07:22
【问题描述】:
您好,我目前在使用准备好的语句的 php 中使用 if 语句时遇到问题,无论我在检查 get_result 时输入什么,我的语句总是正确的。老实说,我不知道我在做什么我对 php 和准备好的语句的概念非常陌生。
$searchtext= $_POST['search-box'];
$sqlName= $connect->prepare("SELECT * FROM SearchPG WHERE PGName LIKE ? ");
$sqlName->bind_param("s", $searchtext);
$sqlName->execute();
$NameResult = $sqlName->get_result();
$sqltext= $connect->prepare("SELECT * FROM SearchPG WHERE PGKeywords LIKE ? ");
$sqltext->bind_param("s", $searchtext);
$sqltext->execute();
$TextResult = $sqltext->get_result();
if($NameResult->num_rows > 0 || $TextResult->num_rows > 0){
if($NameResult->num_rows > 0 ){
echo "made it into sqlname";
while($rs = $NameResult->fetch_assoc()){
echo "name result";
?>
<div class="row resultcontent">
<a href="<?php echo $rs['PGUrl'];?>">
<div class="col-sm-8 searchRsltCont">
<img src="<?php echo $rs['PGImgUrl'];?>" class="searchRsltimg" alt="search result image" />
<div class="contshading">
</div>
</div>
<div class="col-sm-4 searchRslttxt">
<h1><?php echo "name".$rs['PGName'];?></h1>
</div>
</a>
</div>
<?php
$count++;
}
}
if($count<10){
echo "exploded result";
foreach($searchbit as $value){
$temp = '%'.$value.'%';
$sqlvalue= $connect->prepare("SELECT * FROM SearchPG WHERE PGName LIKE ? OR PGKeyword LIKE ? ");
$sqlvalue->bind_param("ss", $temp, $temp);
$sqlvalue->execute();
$ValueResult = $sqlvalue->get_result();
if($ValueResult->num_rows > 0){
while($rs = $ValueResult->fetch_assoc()){
?>
<div class="row resultcontent">
<a href="<?php echo $rs['PGUrl'];?>">
<div class="col-sm-8 searchRsltCont">
<img src="<?php echo $rs['PGImgUrl'];?>" class="searchRsltimg" alt="search result image" />
<div class="contshading">
</div>
</div>
<div class="col-sm-4 searchRslttxt">
<h1><?php echo "name".$rs['PGName'];?></h1>
</div>
</a>
</div>
<?php
$count++;
}
}
}
while($rs = $TextResult->fetch_assoc()){
?>
<div class="row resultcontent">
<a href="<?php echo $rs['PGUrl'];?>">
<div class="col-sm-8 searchRsltCont">
<img src="<?php echo $rs['PGImgUrl'];?>" class="searchRsltimg" alt="search result image" />
<div class="contshading">
</div>
</div>
<div class="col-sm-4 searchRslttxt">
<h1><?php echo "name".$rs['PGName'];?></h1>
</div>
</a>
</div>
<?php
$count++;
}
}
我已经尝试过 if(!$result)、if($result->num_rows>0)、if($result->affected_rows) 和其他方法,但似乎都没有用,有人知道我做错了什么
【问题讨论】:
-
抱歉,但请将“代码墙”缩短为演示问题的最小示例。没有人愿意完成所有这些工作。
-
@arkascha 很抱歉我清理了它
标签: php html search-engine