gpt4 book ai didi

coldfusion - 如何在 QueryExecute sql 语句中正确转义冒号?

转载 作者:行者123 更新时间:2023-12-05 07:28:33 26 4
gpt4 key购买 nike

更新:对这个答案不满意,但我发现不传递参数结构会导致 CF2016 忽略冒号。看起来 CF2018 没有任何问题(尽管我目前只能通过查询查询来测试)。

我们生成的 sql 查询不使用通过 QueryExecute() 的查询参数。我有时会看到错误 Space is not allowed after parameter prefix ':' 并发现它是由带有冒号和空格的字符串文字引起的。例如:

select 'test this: error'

我找不到正式的方式来转义冒号,而且常见的转义方式也行不通,但我想出了这个解决方法...

sqlstring = replace(sqlstring, ": ", ":'+' ", "all")

然而,这并没有考虑到可能出现的其他情况,这些情况不是字符串文字,例如带有冒号和空格的列名,可能还有更多我目前无法想到的情况。

是否有官方方法来转义传递给 QueryExecute 而不是 queryparam 一部分的冒号?

最佳答案

我想你可以把字符串分开然后传入

result = QueryExecute("
SELECT :mystring AS ...
",
{ mystring : "test this: error"}
);

虽然看起来工作量很大。

关于coldfusion - 如何在 QueryExecute sql 语句中正确转义冒号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53308446/

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