使用 php 和 mysql 搜索查询 [关闭]

Posted

技术标签:

【中文标题】使用 php 和 mysql 搜索查询 [关闭]【英文标题】:Search query using php and mysql [closed] 【发布时间】:2014-07-17 05:36:19 【问题描述】:

需要有关如何使用 PHP 和 Mysql 过滤搜索表单中的搜索结果的帮助

表单包含六个字段 Product 是文本框,Category 是下拉选择项,Business 在文本框中用户输入和状态,城市是下拉选择项,Landmark 是用户输入的文本框。

产品或类别或业务是强制性的。所以用户可以输入任何一个字段,也可以填写所有字段。

现在我需要根据输入获得准确的搜索结果。请帮我解决这个问题

【问题讨论】:

你有没有尝试过?您在数据库中有这些值吗? 是的,我在数据库中有这些值。我试过这样的选择 * FROM sign_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 搜索的最佳方法 [关闭]

PHP MySQL查询不返回结果[关闭]

如何在 PHP 函数中正确使用 MySQL 查询? [关闭]

具有多个搜索参数和显示结果的 PHP/HTML/MySQL 数据库查询

如何根据用户位置查询 mySQL [关闭]

使用 jQuery 的 PHP/MySQL 查询生成器 UI? [关闭]