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>

Reply via email to