<cfif structKeyExists(url, 'results')>
<cfquery datasource="UIAAWeb" name="fullQuery">
SELECT *
FROM BusinessDirectory
ORDER BY businessname
</cfquery>
<cfelse>
<cfquery datasource="UIAAWeb" name="BusinessQuery">
SELECT *
FROM BusinessDirectory
WHERE
<!--- Matches Exact Last Name if Match Radio is selected --->
<cfif #form.match# is "yes">
businessname = '#form.keyword#'
</cfif>
<!--- Matches Last Names Starting with user inputted letter --->
<cfif (#match# is "no") AND (#form.keyword# neq "")>
businessname LIKE '#form.keyword#%'
</cfif>
<!--- Gets all award types from selected field of awards --->
<cfif #form.industry# neq "*">
AND industry IN ('#form.industry#')
</cfif>
<!--- Matches Exact Last Name if Match Radio is selected --->
<cfif #form.match1# is "yes">
AND city = '#form.city#'
</cfif>
<!--- Matches Last Names Starting with user inputted letter --->
<cfif (#match1# is "no") AND (#form.city# neq " ")>
AND city LIKE '#form.city#%'
</cfif>
<!--- Gets all award types from selected field of awards --->
<cfif #form.state# neq "*">
state IN ('#form.state#')
</cfif>
<!--- Gets all award types from selected field of awards --->
<cfif #form.country# neq "*">
country IN ('#form.country#')
</cfif>
ORDER BY #sort#
</cfquery>
Я пытаюсь написать поисковый запрос, как это так, однако, когда я держу выполнение страницы поиска я получаю внутреннюю ошибку 500 сервера:CFQuery Предоставление Одда внутреннего серверу 500 Ошибки
Element CITY is undefined in FORM. The specific sequence of files included or processed is: C:\inetpub\wwwroot\business\search\search_results.cfm, line: 139
Если удалить city
из всех областей запроса я получаю эту ошибку:
Error Executing Database Query.Incorrect syntax near the keyword 'AND'. The specific sequence of files included or processed is: C:\inetpub\wwwroot\business\search\search_results.cfm, line: 146
И если я удалю AND
отовсюду я получаю эту ошибку
Error Executing Database Query.Incorrect syntax near the keyword 'industry'. The specific sequence of files included or processed is: C:\inetpub\wwwroot\business\search\search_results.cfm, line: 146
Что я делаю неправильно/как это исправить? Я проверил и перепроверял мою форму, и все правильно определено.
Так что я пытаюсь заставить его искать через все из них, но игнорировать поле, если один будет пропущен? Кажется, я не могу его оставить, если поле опущено.
Спасибо!
Пара советов 1. RE: * Элемент CITY не определен * Радио кнопки существуют только в том случае, если они проверяются. Либо убедитесь, что он существует сначала ИЛИ определите значение по умолчанию с 'cfparam' 2. ** Никогда ** используйте необработанные клиентские значения в запросе. Всегда используйте 'cfqueryparam' 3. Нет необходимости в знаках фунта в операциях' cfif'. 4. Строки «Да/Нет» будут оцениваться как логические, то есть «true/false». Итак, предполагая, что поле определено, вместо записи '' just use '' –
Leigh