私は優れたCFWeb開発者になり<cfqueryparam>
、SQLクエリに到達するすべてのFORMまたはURL要素を使用しようとしています。
この場合、ユーザーがORDERBY句を動的に制御できるようにしようとしています。
<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>
これを行うと、次のエラーが発生します。
ORDER BY番号1で識別されるSELECT項目には、列位置を識別する式の一部として変数が含まれています。変数は、列名を参照する式で並べ替える場合にのみ許可されます。
これを安全に行う方法について何か提案はありますか?