First you have to determine what logic the query is to follow
With the query you have all variables have to match the
product for any records to be returned.
So, if one variable is not present then no records will be
returned.
I think you might be after an OR here.
But you could also turn it into a list
<cfset myList = "">
<cfif Len(Trim(product_add1))>
<cfset result = ListAppend(myList, #product_add1#)>
</cfif>
<cfif Len(Trim(product_add2))>
<cfset result = ListAppend(myList, #product_add2#)>
</cfif>
<cfif Len(Trim(product_add3))>
<cfset result = ListAppend(myList, #product_add3#)>
</cfif>
<cfif Len(Trim(product_add4))>
<cfset result = ListAppend(myList, #product_add4#)>
</cfif>
Then the query
Select * from Products
where product IN (#ListQualify(myList, "'", ",", "All")#)
Ken