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

现在对我来说,问题是,例如,我想搜索鸡肉比萨饼,但是仅当我键入完整的句子(即鸡肉比萨饼)时,它才会显示信息。 如果我输入chicken或其他关键字,如何显示与鸡肉相关的数据,如鸡肉派,鸡翅,该怎么做? 感谢您的劝告。

注意:解决此问题后,将其更改为mysqli

===============>>#1 票数:1

SELECT Name, Price FROM info WHERE Name LIKE 'chicken%'

===============>>#2 票数:0 已采纳

您需要在此处使用LIKE运算符。 LIKE具有多种方式。 您可以在关键字之前,关键字之后以及关键字之前和之后使用%

例:

"SELECT Name, Price FROM info WHERE Name LIKE '%$name%'"

提示: “%”符号用于在模式之前和之后定义通配符(缺少字母)。

并停止使用mysql_* ,从mysqli_* OR PDO

  ask by ron translate from so

未解决问题?本站智能推荐: