2010-07-12 57 views
1

我需要通过mysql查询来搜索一些信息,所以我可以编写和或一起吗?如果没有,那么过程是什么?在我的查询中,它会显示任何一个字段或多个字段?场,那么,如何编写查询瑞特现在我正在写,如: -Mysql或查询

$query="select * from fsb_profile 
     where profile_name = '".$_REQUEST['name']."' or 
       profile_member= '".$_REQUEST['type']."' or 
       profile_year= '".$_REQUEST['year']."' or 
       profile_course='".$_REQUEST['course']."'"; 

但是当我提交的所有字段,则是这样的: -

$query="select * from fsb_profile 
     where profile_name = '".$_REQUEST['name']."' and 
       profile_member= '".$_REQUEST['type']."' and 
       profile_year= '".$_REQUEST['year']."' and 
       profile_course='".$_REQUEST['course']."'"; 

但在这里它是不可能通过一个以上的字段进行搜索,是否必须编写不同的查询?或者我可以在一个查询中进行查询,以及如何?

+0

格式正确,以便其他人可以阅读 – 2010-07-12 12:47:52

回答

0

您可以将ANDOR逻辑与括号()混合。

您还可以将IN用于多个OR逻辑。

select * from table where 1 in (1,2,3) 

你也应该阅读有关SQL Injection

0

我不明白你实际上问...但我认为你正在寻找嵌套查询.....像下面... ...

SELECT * FROM t1 WHERE 2 = (SELECT COUNT(*) FROM t1);