我遵循了如何使搜索栏正常运行的教程,我没有看到我做错了什么。我试图让用户选择搜索产品。最终的结果是一切都被排除为“阵列”。显示正确数量的搜索结果。
我的搜索栏位于我的索引页面上。
<form class="searchbar" action="/searchresults" method="POST">
<input class="inputsearchbar" type="text"
name="search" size="50">
<input class="searchButton" type="submit" value="Search" name="submit">
</label>
</form>
然后我有一个名为searchresults.php的页面,我的结果将输出到该页面。我是从数据库中的产品表中提取的。
我把它放在文件的顶部..
if(!isset($_POST['search'])) {
header("Location:index.php");
die($e->getMessage());
}
$con = mysqli_connect("localhost", "root", "", "bfb");
$search_sql = "SELECT * FROM products WHERE name LIKE '%" . $_POST['search'] . "%' OR description LIKE '%" . $_POST['search'] . "%'";
$search_query=mysqli_query($con, $search_sql);
if (mysqli_num_rows($search_query)!=0) {
$search_rs=mysqli_fetch_assoc($search_query);
}
?>
在体内跟着这个输出结果......
<h1>Search Results</h1>
<?php
if(mysqli_num_rows($search_query)!=0) {
do { ?>
<p><?php echo $search_rs=['name']; ?></p>
<p><?php echo $search_rs=['description']; ?></p>
<?php } while ($search_rs=mysqli_fetch_assoc($search_query));
} else {
echo"Sorry, no results were found. Please try again.";
}
?>
</div>
为什么我的所有结果都显示为&#39;数组&#39;我该如何纠正这个?
答案 0 :(得分:4)
取出无关的等号(=)
<?php echo $search_rs['name']; ?>
答案 1 :(得分:2)
你必须使用$ _search_rs ['name']。删除额外的'='符号。
按如下方式编辑PHP代码。
<h1>Search Results</h1>
<?php
if(mysqli_num_rows($search_query)!=0) {
do { ?>
<p><?php echo $search_rs['name']; ?></p>
<p><?php echo $search_rs['description']; ?></p>
<?php } while ($search_rs=mysqli_fetch_assoc($search_query));
} else {
echo"Sorry, no results were found. Please try again.";
}
?>