好吧,我在這個上搜索了很多主題,現在我被卡住了。如何使用PHP編寫MySQL搜索查詢
我想寫一個查詢,將使用PHP代碼從MySQL數據庫中提取數據。該查詢基於來自表單的用戶輸入。我希望用戶輸入任何關鍵字並返回整個數據庫中所有表的所有相應數據。這是一個教科書數據庫,我希望用戶能夠根據標題,價格,版本,日期或ISBN進行搜索。
<?php
$query= $_GET['query'];
$result = mysql_query("SELECT * FROM `thetextbookexpress` WHERE (`Author(s)` LIKE '%.".$query."%')
OR (`Title` LIKE '%.".$query."%')
OR (`Price` LIKE '%.".$query."%')
OR (`Edition` LIKE '%.".$query."%')
OR (`ISBN-13` LIKE '%".$query."%')
OR (`ISBN-10` LIKE '%.".$query."%') OR (`ISBN-13` LIKE '%.".$query."%')");
$num = mysql_numrows($result);
echo "<table id='search' border='1'>
<tr>
<tr>
<th>Author(s)</th>
<th>Title</th>
<th>Price</th>
<th>Edition</th>
<th>Date</th>
<th>ISBN-10</th>
<th>ISBN-13</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['Author(s)'] . "</td>";
echo "<td>" . $row['Title'] . "</td>";
echo "<td>" . $row['Price'] . "</td>";
echo "<td>" . $row['Edition'] . "</td>";
echo "<td>" . $row['Publication Date'] . "</td>";
echo "<td>" . $row['ISBN-10'] . "</td>";
echo "<td>" . $row['ISBN-13'] . "</td>";
}
?>
編輯:我已經修復了錯誤,謝謝你!這是查詢中錯誤列的簡單錯誤。雖然,現在我遇到了一個新問題,因爲我現在在窗體中輸入關鍵字時會看到一個空白頁面。這是表單和按鈕的附加代碼。
<form action="search.php" method="get">
<input type="text" name="query" alt="Search Books" value=" Search by ISBN, Author, or Title"
maxlength="356" size="52";/>
<input type="submit" name="querybtn" value="Search Books"/>
您的查詢失敗。請參閱[本答案](http://stackoverflow.com/a/11674313/250259)瞭解如何解決此問題。僅供參考,您可以[SQL注入](http://stackoverflow.com/q/60174)。 –