在搜索之前获得额外的OR [英] getting an extra OR before the search

查看:88
本文介绍了在搜索之前获得额外的OR的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个查询,我在AND子句之后得到一个额外的OR,搜索失败

I have this query and i m am getting an extra OR after the AND clause and the search is failing

<cfset CountVar = 1>
        <cfquery name="qFiltered">
            SELECT id,name,email,useris,roleid
            FROM users
            WHERE 1=1
                <cfif search NEQ "">
                    AND (
                        <cfloop list="#aColumnArray#" index="sSearch">
                            <cfif CountVar NEQ countOfColumns> OR </cfif> 
                            #sSearch# LIKE <cfqueryparam value="%#search#%" cfsqltype="cf_sql_varchar" />
                            <cfset CountVar += 1>
                        </cfloop>
                    )
                </cfif>
            
        </cfquery>

无法验证countofColumns数量的计数器出现错误

Something is wrong in the counter where it is not validating the number of countofColumns

<cfset var countOfColumns = listLen(aColumnArray)>


推荐答案

如何解决

 <cfquery name="qFiltered">
        SELECT id,name,email,useris,roleid
        FROM users
        WHERE 1 = 1
        <cfif search NEQ "">
            AND (
                0 = 1 
                <cfloop list="#aColumnArray#" index="sSearch">
                   OR 
                   [#sSearch#] LIKE <cfqueryparam value="%#search#%" cfsqltype="cf_sql_varchar" />
                </cfloop>
              )
        </cfif>
  </cfquery>

这篇关于在搜索之前获得额外的OR的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆