我想仅使用CFScript为ColdFusion组件提供可选参数,同时保持使用ColdFusion QueryParam SQL.
示例A:从所有用户的基本user.cfm中检索信息:
<cfset get = application.controller.getuser()>
Run Code Online (Sandbox Code Playgroud)
实施例B:任选地,使用相同的方法.从特定用户的基本user-edit.cfm?edit = 662B2709-0BA3-42DB-AD2CC29069F4A259中检索信息:
<cfset get = application.controller.getuser( userUID=url.edit )>
Run Code Online (Sandbox Code Playgroud)
示例C:或者,使用相同的方法查找特定的名字:
<cfset get = application.controller.getuser( firstname=form.firstname )>
Run Code Online (Sandbox Code Playgroud)
CFC问题:下面是我的controller.cfc.我想将"AND userUID =:userUID"维护为可选的CFQueryParam,仅在我的脚本请求时才会出现.
public function getuser( userUID='', password='', firstname='' ){
var get = new query();
// query
get.setSQL("
SELECT *
FROM users
WHERE 1 = 1
AND userUID = :userUID
AND firstname = :firstname
AND passhash = :password
");
if ( len(arguments.userUID) > 0 )
get.addParam( …Run Code Online (Sandbox Code Playgroud)