這是我的php文件的一部分。searchkeyword時顯示所有相關數據
if(preg_match("/^[ a-zA-Z]+/", $_POST['searchName']))
{
$name=$_POST['searchName'];
$con=mysql_connect ("localhost", "root", "");
$mydb=mysql_select_db("food",$con);
$result=mysql_query("SELECT Name, Price FROM info WHERE Name='$name'");
while($row=mysql_fetch_array($result))
{
echo $row['Name'];
echo $row['Price'];
}
}
else
{
echo "<p>Please enter a search query</p>";
}
現在對我來說,問題是,比如我要搜索雞肉比薩,但是當我鍵入整個句子是雞肉比薩它只會顯示信息。如果我輸入雞肉或其他關鍵字,我怎麼能做到這一點,它會顯示相關的雞肉如雞肉餡餅,雞翅相關的數據?感謝您的諮詢。
注:我會改變它的mysqli後,我解決了這個問題
使用'Name LIKE'%$ name%''而不是'Name ='$ name'', –
您可能在'LIKE'語法之後。請參閱[documentation](http://dev.mysql.com/doc/refman/5.7/en/string-comparison-functions.html)。 –
**警告**:如果您只是學習PHP,請不要使用['mysql_query'](http://php.net/manual/en/function.mysql-query.php)接口。這是非常可怕和危險的,它在PHP 7中被刪除了。[PDO的替代品並不難學](http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps -pdo-for-database-access /)以及[PHP The Right Way](http://www.phptherightway.com/)等指南介紹了最佳實踐。你的用戶參數是**不是** [正確轉義](http://bobby-tables.com/php),並且有[SQL注入漏洞](http://bobby-tables.com/)可以被利用。 – tadman