Я пытаюсь быть хорошим веб-разработчиком CF и использую <cfqueryparam>
для всех элементов FORM или URL, которые попадают в мои SQL-запросы.
В данном случае я пытаюсь разрешить пользователю динамически управлять предложением ORDER BY.
<cfquery datasource="MyDSN" name="qIncidents">
SELECT IncidentID, AnimalID, IntakeDate, DxDate, OutcomeDate
FROM Incidents
WHERE ShelterID = <cfqueryparam cfsqltype="cf_sql_integer" value="#Arguments.ShelterID#">
ORDER BY <cfqueryparam cfsqltype="cf_sql_varchar" value="#SortBy#">
</cfquery>
Когда я это делаю, я получаю следующую ошибку:
Элемент SELECT, обозначенный номером ORDER BY 1, содержит переменную как часть выражения, определяющего позицию столбца. Переменные разрешены только при упорядочении по выражению, ссылающемуся на имя столбца.
Любые предложения о том, как сделать это безопасно?