gpt4 book ai didi

coldfusion - 查询参数未按预期运行

转载 作者:行者123 更新时间:2023-12-03 22:40:27 25 4
gpt4 key购买 nike

我正在使用 :order 查询参数将顺序参数传递给我的函数。不幸的是,它似乎对输出没有影响。

请求调试输出显示 order 参数被正确解析:

参数 #2(cf_sql_varchar) = posts.createdAt ASC

但是输出还是没有区别。如果我对参数进行硬编码 (ORDER BY ..., #arguments.order#),它工作正常。

有什么想法吗?

public any function getPost(required numeric postId, string order)
{
switch(arguments.order)
{
case "new":
arguments.order = "posts.createdAt DESC";
break;
case "old":
arguments.order = "posts.createdAt ASC";
break;
default:
arguments.order = "posts.score DESC";
}

local.post = new Query(dataSource=variables.wheels.class.connection.datasource);
local.post.setSql("
SELECT *
FROM
WHERE posts.id = :postId OR posts.parentId = :postId
ORDER BY posts.postTypeId ASC, :order"
);

local.post.addParam(name="postId", cfsqltype="cf_sql_integer", value=arguments.postId, maxlength=10);
local.post.addParam(name="order", cfsqltype="cf_sql_varchar", value=arguments.order, maxlength=20);
local.post = local.post.execute().getResult();

return local.post;

最佳答案

如果我没记错的话,queryparams 将在 where 子句以外的任何地方都有效。所以你不是在处理一个错误,而是一个限制。

关于coldfusion - 查询参数未按预期运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6216262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com