gpt4 book ai didi

coldfusion - 将查询参数与 cfscript 查询一起使用时出错

转载 作者:行者123 更新时间:2023-12-02 22:29:43 24 4
gpt4 key购买 nike

这是我的代码:

var qryStr = "
UPDATE templates_email
SET title = :title, test_emails = :testEmail, body = :body
WHERE id = :templateID";

q = New Query();
q.setSQL(qryStr);
q.addParam(name="title", value="#arguments.title#", cfsqltype="cf_sql_char");
q.addParam(name="body", value="#arguments.templateContent#", cfsqltype="cf_sql_char");
q.addParam(name="testEmail", value="#arguments.test_emails#", cfsqltype="cf_sql_char");
q.addParam(name="templateID", value="#arguments.id#", cfsqltype="cf_sql_integer");

return q.execute().getResult();

这是错误:

Parameter 'body WHERE' not found in the list of parameters specified

SQL: UPDATE templates_email SET title = :title, test_emails = :testEmail, body = :body WHERE id = :templateID

The error occurred in C:\ColdFusion9\CustomTags\com\adobe\coldfusion\query.cfc: line 108

我只能假设我的 SQL 参数结构方式出了问题,但无法弄清楚它是什么。谁能看到我在这里做错了什么吗?

最佳答案

用于获取参数的解析器不会对返回值进行标记,仅对空白进行标记(这真的很烦人)。请尝试以下操作:

var qryStr = "
UPDATE templates_email
SET title = ( :title ), test_emails = ( :testEmail ), body = ( :body )
WHERE ( id = :templateID )
";

() 应该可以消除解析器无法识别 :params 停止和开始位置的任何问题。

关于coldfusion - 将查询参数与 cfscript 查询一起使用时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8426044/

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