Hi,
I am doing two functions in CF a component. One has arguments all in numeric, it works
fine, another has some arguments in string, when I quote the variable in a SQL, it
says syntax error. As far as I can see, that because the single quotation marks are
converted to double quotation marks automatically. What can I do to get it work?
Thanks
Bo
****************This one with string arguments doesn't work******************
<cffunction name="getuserinfo" access="public" returntype="query">
<cfargument name="uid" type="numeric" required="no">
<cfargument name="unm" type="string" required="no">
<cfargument name="uem" type="string" required="no">
<cfargument name="ufn" type="string" required="no">
<cfargument name="uln" type="string" required="no">
<cfset select_condition="">
<cfquery name="usrinfo" datasource="opps">
<cfif IsDefined("uid")>
<cfset select_condition="userid=#uid#">
</cfif>
<cfif IsDefined("unm")>
<cfif len(select_condition) gt 0>
<cfset select_condition="#select_condition# AND username='#unm#'">
<cfelse>
<cfset select_condition="username='#unm#'">
</cfif>
</cfif>
<cfif IsDefined("uem")>
<cfif len(select_condition) gt 0>
<cfset select_condition="#select_condition# AND email='#uem#'">
<cfelse>
<cfset select_condition="email='#uem#'">
</cfif>
</cfif>
<cfif IsDefined("ufn")>
<cfif len(select_condition) gt 0>
<cfset select_condition="#select_condition# AND firstname='#ufn#'">
<cfelse>
<cfset select_condition="firstname='#ufn#'">
</cfif>
</cfif>
<cfif IsDefined("uln")>
<cfif len(select_condition) gt 0>
<cfset select_condition="#select_condition# AND lastname='#uln#'">
<cfelse>
<cfset select_condition="lastname='#uln#'">
</cfif>
</cfif>
<cfif len(select_condition) gt 0>
Select * from user where #select_condition#
<cfelse>
Select * from user
</cfif>
</cfquery>
<cfreturn usrinfo>
</cffunction>
******This one with all numeric arguments works fine*********
<cffunction name="getads" access="public" returntype="query">
<cfargument name="eid" type="numeric" required="no">
<cfargument name="uid" type="numeric" required="no">
<cfargument name="cid" type="numeric" required="no">
<cfargument name="pid" type="numeric" required="no">
<cfargument name="rid" type="numeric" required="no">
<cfset select_condition="">
<cfquery name="adsout" datasource="opps">
<cfif IsDefined("eid")>
<cfset select_condition="eventid=#eid#">
</cfif>
<cfif IsDefined("uid")>
<cfif len(select_condition) gt 0>
<cfset select_condition="#select_condition# AND userid=#uid#">
<cfelse>
<cfset select_condition="userid=#uid#">
</cfif>
</cfif>
<cfif IsDefined("cid")>
<cfif len(select_condition) gt 0>
<cfset select_condition="#select_condition# AND categoryid=#cid#">
<cfelse>
<cfset select_condition="categoryid=#cid#">
</cfif>
</cfif>
<cfif IsDefined("pid")>
<cfif len(select_condition) gt 0>
<cfset select_condition="#select_condition# AND productid=#pid#">
<cfelse>
<cfset select_condition="productid=#pid#">
</cfif>
</cfif>
<cfif IsDefined("rid")>
<cfif len(select_condition) gt 0>
<cfset select_condition="#select_condition# AND rank=#rid#">
<cfelse>
<cfset select_condition="rank=#rid#">
</cfif>
</cfif>
<cfif len(select_condition) gt 0>
Select * from ads where #select_condition#
<cfelse>
Select * from ads
</cfif>
</cfquery>
<cfreturn adsout>
</cffunction>