searchkeyword

时间:2016-05-24 18:01:53

标签: php mysql

这是我的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

2 个答案:

答案 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开头。