0

我正在构建一个动态查询字符串,并且在如何附加 OR 条件运算符时遇到问题。

对于 AND 运算符来说,这很容易,如下所示:

$base_query = "SELECT * FROM `tropical_fruits` WHERE 1 "

然后,要附加另一个查询,我只需执行以下操作:

$query_1 = "AND `colour` = $fruit_colour;
$final_query = $base_query . $query_1;

但是如何附加 OR 运算符?

例如,如果我像这样简单地附加 OR:

$query_1 = "OR `colour` = $fruit_colour;

...查询不再产生正确的结果(这意味着查询将检索表中的每条记录)。

所以问题是...

基本查询应该是什么,以便它足够灵活地附加一个 AND 和/或 OR 条件,记住用户可以提交两个 OR 条件

如果这个问题不清楚,我很抱歉......我很难解释它!;-)

主要的问题是,我正在编写一个接受搜索查询并返回结果的函数。搜索功能需要能够接受以下查询:

并且在哪里 =
 以及喜欢的地方
 或在哪里 =
 或喜欢的地方

基本上,我需要将上述查询附加到如下所示的基本查询中:

$base_query = 'SELECT * FROM `' 。$table_name 。'` 哪里 1 '; 

提前致谢!

4

2 回答 2

3

SELECT * FROM Persons WHERE LastName='Svendson'AND (FirstName='Tove' OR FirstName='Ola')

于 2013-01-30T12:31:43.480 回答
0

“OR”旁边的条件始终是可选的。在您的基本查询中,“where”条件将允许您的表中的所有文档。您仍然想限制选择查询的结果尝试如下,

$query_1 = " AND (`colour` = $fruit_colour OR 'type'=$some_type)";

您可以使用混合括号和条件运算符来限制结果。

并确保这些运算符的执行优先级。

于 2013-01-30T12:34:48.683 回答