这是我的php文件的一部分。
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
答案 0 :(得分:1)
SELECT Name, Price FROM info WHERE Name LIKE 'chicken%'
答案 1 :(得分:0)
您需要在此处使用LIKE运算符。 LIKE
有多种方式。您可以在关键字之前,关键字之后以及关键字之前和之后使用%
。
示例:
"SELECT Name, Price FROM info WHERE Name LIKE '%$name%'"
提示:“%”符号用于定义通配符(缺少字母) 在模式之前和之后。
停止使用mysql_*
,以mysqli_*
或PDO
开头。