PHP文件不顯示任何錯誤,但不顯示從MySQL數據庫獲取的數據。這是不是說,它不能連接到我不知道我怎麼這個時候打破了它的databaseso :( 搜索引擎 不顯示給出的數據
<body>
<h2>Search Engine</h2>
<form action='./search.php' method='get'>
<input type='text' name='k' size='50' value='<?php echo $_GET['k'] ?>' />
<input type='submit' value='Search'/>
</form>
<hr />
<?php
$k = $_GET['k'];
$terms = explode(" ", $k);
$query = "SELECT * FROM search WHERE ";
foreach ($terms as $each)
{
//....
}
//connect
mysql_connect("localhost", "root", "");
mysql_select_db("search");
$query = mysql_query($query);
$num_rows = 0;
if ($query){
while($row = mysql_fetch_assoc($query)){
$id = $row['id'];
$title = $row['title'];
$description = $row['description'];
$k = $row['Keywords'];
$link = $row['link'];
echo "<h2><a href='$link'>$title</a></h2>
$description<br /><br />";
}
}
else
echo "No results found for \"<b>$k</b>\"";
//disconnect
mysql_close();
?>
</body>
</html>
然後,我有MySQL數據庫建立
的建議,爲獲得更好的可讀性改名變量: $ SQL = 「SELECT * FROM搜索WHERE」; – alditis
然後:$ query = mysql_query($ sql); – alditis
**警告!**您的代碼包含[SQL注入漏洞](http://en.wikipedia.org/wiki/SQL_injection) - 您將原始的,未過濾的,未經驗證的用戶輸入直接傳遞到SQL字符串中。請[切換到PDO](http://php.net/book.pdo)或[mysqli](http://php.net/book.mysqli),以便您可以使用[帶有參數化查詢的預準備語句](http: //en.wikipedia.org/wiki/Prepared_statement)。 – Charles