搜索功能输出为 'array'
Search functionality outputting as 'array'
我遵循了有关如何使搜索栏正常运行的教程,但我没有发现自己做错了什么。我正在尝试为用户提供搜索产品的选项。最终结果是一切都被输出为 'Array'。显示正确数量的搜索结果。
我的搜索栏在我的索引页上。
<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 的页面,我的结果输出到该页面。我正在从数据库中的产品 table 中提取数据。
我在文件的顶部有这个..
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>
为什么我的所有结果都显示为 'Array',我该如何更正?
去掉多余的等号(=)
<?php echo $search_rs['name']; ?>
您必须使用 $_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.";
}
?>
我遵循了有关如何使搜索栏正常运行的教程,但我没有发现自己做错了什么。我正在尝试为用户提供搜索产品的选项。最终结果是一切都被输出为 'Array'。显示正确数量的搜索结果。
我的搜索栏在我的索引页上。
<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 的页面,我的结果输出到该页面。我正在从数据库中的产品 table 中提取数据。
我在文件的顶部有这个..
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>
为什么我的所有结果都显示为 'Array',我该如何更正?
去掉多余的等号(=)
<?php echo $search_rs['name']; ?>
您必须使用 $_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.";
}
?>