Estoy tratando de ser un buen desarrollador web de CF y uso <cfqueryparam>
alrededor de todos los elementos FORM o URL que lo hacen a mis consultas SQL.¿Cómo se usa cfqueryparam en la cláusula ORDER BY?
En este caso, estoy tratando de permitir que un usuario controle dinámicamente la cláusula 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>
Cuando hago esto, me sale el siguiente error:
The SELECT item identified by the ORDER BY number 1 contains a variable as part of the expression identifying a column position. Variables are only allowed when ordering by an expression referencing a column name.
¿Alguna sugerencia sobre cómo hacer esto de manera segura?
¿Qué base de datos está utilizando? Puedo usar cfqueryparam fine con MySQL 5 –