搜索功能输出为'数组'

时间:2015-05-07 15:44:47

标签: php html mysql arrays search-engine

我遵循了如何使搜索栏正常运行的教程,我没有看到我做错了什么。我试图让用户选择搜索产品。最终的结果是一切都被排除为“阵列”。显示正确数量的搜索结果。

我的搜索栏位于我的索引页面上。

<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;我该如何纠正这个?

2 个答案:

答案 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.";
    }
?>