我正在构建一个动态查询字符串,我遇到了如何附加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条件 < / em>的
如果这个问题不清楚,我很抱歉......我在解释它时遇到了困难! ; - )
主要的是,我正在编写一个接受搜索查询的函数,并返回结果。搜索功能需要能够接受以下查询:
AND WHERE = AND WHERE LIKE OR WHERE = OR WHERE LIKE
基本上,我需要将上述查询附加到如下所示的基本查询:
$base_query = 'SELECT * FROM `' . $table_name . '` WHERE 1 ';
提前致谢!
答案 0 :(得分:3)
SELECT * FROM Persons WHERE LastName ='Svendson'AND(FirstName ='Tove' 或FirstName ='Ola')
答案 1 :(得分:0)
条件紧挨着&#34; OR&#34;总是可选的。在您的基本查询中,&#34;其中&#34;条件将允许表中的所有文档。您仍希望限制选择查询的结果 尝试如下,
$query_1 = " AND (`colour` = $fruit_colour OR 'type'=$some_type)";
您可以使用混合括号和条件运算符来限制结果。
并确保这些运营商的执行优先级。