我按照教程介紹瞭如何使搜索欄功能正常,而且我看不到我做錯了什麼。我正試圖讓用戶選擇搜索產品。最終的結果是所有東西都被當作'數組'。顯示正確的搜索結果數量。以'數組'的形式輸出搜索功能
我的搜索欄位於我的索引頁上。
<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>
爲什麼我所有的結果顯示爲'數組',我該如何解決這個問題?
與'='在'$ search_rs = [ '名']'是什麼?此外,你的代碼沒有考慮到能夠有多個結果? –
[您的腳本存在SQL注入風險。](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) –
我第一次看到一個無意的PHP5.5中的數組賦值:'$ search_rs = ['name']'實際上是'$ search_rs = array('name')'...因此,您得到* Array *作爲輸出。 – CD001