作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在努力成为一名优秀的 CF Web 开发人员并使用 <cfqueryparam>
围绕使其成为我的 SQL 查询的所有 FORM 或 URL 元素。
在这种情况下,我试图允许用户动态控制 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>
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.
最佳答案
不幸的是,您不能在 Order By 子句中直接使用 CFQUERYPARAM。
如果您想动态使用 Order By 但仍然安全地这样做,您可以设置 CFSWITCH 或类似结构来根据某些条件(例如 URL 变量)更改 SortBy 变量。与往常一样,不要直接从用户那里传递任何值,只需查看用户的输入并根据该输入从预先确定的可能值列表中进行选择。然后,只需使用标准语法:
ORDER BY #SortBy#
关于sql - 您如何在 ORDER BY 子句中使用 cfqueryparam?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/889272/
我是一名优秀的程序员,十分优秀!