【发布时间】:2018-11-06 15:46:54
【问题描述】:
我不明白为什么我在这段代码中没有得到任何结果,每次我运行它时,else 语句都会运行。
<?php
if(isset($_POST['search'])){
$search = mysqli_real_escape_string($connection, $_POST['user_query']);
$sql = "SELECT * FROM search WHERE search_title LIKE '%user_query%' OR search_desc LIKE '%user_query%' OR search_key LIKE '%user_query%' ";
$run = mysqli_query($connection, $sql);
$queryResult = mysqli_num_rows($run);
if($queryResult > 0){
while($rel_rows = mysqli_fetch_assoc($queryResult)){
echo "<div id='post'>
<a href='#'><img src='$rel_rows[search_img]'></a>
<a href='#'><h4 class='post_name'>$rel_rows[search_title]</h4></a>
<p class='post_info'> $rel_rows[search_desc]</p>
</div>";
}
}
else{
echo "There are no results for your search";
}
}
?>
【问题讨论】:
-
user_query未定义。使用全文索引会更好。您还应该参数化查询。 -
它实际上是在你的字符串中搜索文本
user_query,因为它是硬编码的。