使用 php 和 mysql 搜索查询 [关闭]
Posted
技术标签:
【中文标题】使用 php 和 mysql 搜索查询 [关闭]【英文标题】:Search query using php and mysql [closed] 【发布时间】:2014-07-17 05:36:19 【问题描述】:需要有关如何使用 PHP 和 Mysql 过滤搜索表单中的搜索结果的帮助。
表单包含六个字段 Product 是文本框,Category 是下拉选择项,Business 在文本框中用户输入和状态,城市是下拉选择项,Landmark 是用户输入的文本框。
产品或类别或业务是强制性的。所以用户可以输入任何一个字段,也可以填写所有字段。
现在我需要根据输入获得准确的搜索结果。请帮我解决这个问题
【问题讨论】:
你有没有尝试过?您在数据库中有这些值吗? 是的,我在数据库中有这些值。我试过这样的选择 * FROMsign_up
WHERE ( Product Like '%$val_1%' && category ='$val_2' AND Business Like '%$val_3%' and State = '$val_4' and City ='$var5 ' and Landmark Like '%$val_6') or ( Product Like '%$val_1%' && category ='$val_2' AND Business Like '%$val_3%' and State = '$val_4' and City ='$var5' ) OR (Product Like '%$val_1%' && category ='$val_2' AND Business Like '%$val_3%') OR (Product Like '%$val_1%' && category ='$val_2')OR (category = '$val_2' AND Business Like '%$val_3%')OR (category ='$val_2')
【参考方案1】:
试试这个:
$query = "select * from table_name where 1 ";
if(!empty($_POST['field1']) )
$query .= " AND field1 like '".trim($_POST['field1'])."'";
if(!empty($_POST['field2']))
$query .= " AND field2 like '".trim($_POST['field2'])."'";
// and so on
$result = mysql_query($query);
【讨论】:
小心 SQL 注入...以上是关于使用 php 和 mysql 搜索查询 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 PHP 函数中正确使用 MySQL 查询? [关闭]