问题标签 [cfqueryparam]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
3035 浏览

coldfusion - 如何以编程方式清理 ColdFusion cfquery 参数?

我继承了一个大型的旧版 ColdFusion 应用程序。有数百个 <cfquery>some sql here #variable#</cfquery> 语句需要沿以下行参数化: <cfquery> some sql here <cfqueryparam value="#variable#"/> </cfquery>

如何以编程方式添加参数化?

我曾考虑过编写一些正则表达式或 sed/awk'y 之类的解决方案,但似乎某个地方的某个人已经解决了这样的问题。自动推断 sql 类型可获得奖励积分。

0 投票
2 回答
1462 浏览

sql - 使用 CFQUERYPARAM 在 SQL 中指定表/列名

我需要动态构造一组 JOIN 语句,其中表名和列名是从另一个 ColdFusion 查询传入的。当将字符串值传递到语句中时,CFQUERYPARAM 在其周围添加单引号 - 这是 CFQUERYPARAM 要点的一部分。鉴于这破坏了 SQL 语句,在这种情况下不使用 CFQUERYPARAM 而是确保清理传入的查询是否可以接受,或者是否有办法允许使用 CFQUERYPARAM?(我可以使用 Fusebox 中的电路/保险丝权限锁定这些代码。)

谢谢。

0 投票
10 回答
2547 浏览

coldfusion - 这个 cfqueryparam 内存泄漏有解决方案吗?

更新:

  • 我已将错误提交给 Adob​​e 并引用了这个 SO question

  • 在发生问题的实际代码中,我决定只删除对 cfqueryparam 的使用。我现在使用自定义函数来根据类型格式化参数。我将不得不处理安全和速度方面的问题,但它可以让特定进程在当前负载下可接受地工作。

  • 将来,我计划将数据文件拉入数据库中的临时表中。然后我将尽可能使用 SQL 对数据执行操作并将数据传输到实时表,而不是依赖 ColdFusion


我在插入数据时使用 cfqueryparam 标记循环查询时遇到问题。(我没有测试过选择或更新查询)。循环逐渐占用更多内存,直到请求完成才释放。但是,仅当在函数中循环查询时才会出现此问题。

它似乎对使用的 cfqueryparam 标记的数量非常敏感。在此示例中,插入了 15 个值,但是在我的代码中实际上需要它才能工作,我正在插入未知数量的值,这会使问题更加严重。

下面是显示问题的代码。给它一个数据源名称(在 MSSQL 上测试),它将创建一个 tmp 表并插入记录作为示例,无论是否在函数中。内存使用情况显示在非函数循环之前、之后、函数内循环之后。它还请求垃圾收集并在输出内存信息之前等待 10 秒,以确保它尽可能准确地显示信息。

根据我对这个特定测试的经验,函数内循环导致使用了超过 200mb 的内存。在我的现实世界中使用它会使 ColdFusion 崩溃 :-(

只是为了说明可以在操作期间释放内存,下面是示例代码,它构建了一个更大的结构,并显示了在变量被覆盖和垃圾收集之前和之后使用的内存。在我运行此内存后,填充为 118mb,覆盖和垃圾收集后为 31mb。

0 投票
5 回答
3842 浏览

sql - 如何在 ORDER BY 子句中使用 cfqueryparam?

我正在努力成为一名优秀的 CF Web 开发人员,并使用<cfqueryparam>所有 FORM 或 URL 元素来实现我的 SQL 查询。

在这种情况下,我试图让用户动态控制 ORDER BY 子句。

当我这样做时,我收到以下错误:

由 ORDER BY 编号 1 标识的 SELECT 项包含一个变量,作为标识列位置的表达式的一部分。只有在通过引用列名的表达式进行排序时才允许使用变量。

关于如何安全地做到这一点的任何建议?

0 投票
1 回答
254 浏览

coldfusion - DAO.cfc 中的动态表名?

我正在编写一个子系统,表可能会从一个项目重命名到另一个项目。

而不是要求我的子系统的用户在使用它之前进行搜索和替换,这行得通吗?

没有<cfqueryparam>,它会变得不可缓存吗?或任何其他问题?(假设 SQL 注入不是问题)

我不认为我可以使用<cfqueryparam>表名,对吧?

谢谢。

0 投票
1 回答
164 浏览

mysql - CFQUERYPARAM 在 URL 中以“+”中断

我有一个查询:

Id在MySQL中是一个INTEGER,但是上面的查询返回一个不是来自表的Id,甚至不是一个INTEGER,它似乎是一个随机的BIGINT!如果我删除 CFQUERYPARAM 它虽然可以工作......

Field1、Field2 和 Field3 在数据库中都是 VARCHARS,但在 URL 中它们包含“+”,例如 Field1=text+moretext

如果我从 URL 字符串中删除“+”,它工作正常!我知道“+”是一个空格的表示,如果我实际上再次在 URL 中键入一个空格,它就可以正常工作。只有在出现“+”时才会中断。

我做错了什么?或者我该怎么做才能使 CFQUERYPARAM 与 URL 中的“+”一起工作

0 投票
1 回答
3253 浏览

sql - 最适合用于 MS SQL 的 uniqueidentifier 字段类型的 Coldfusion cfsqltype 是什么?

从 Coldfusion 8 连接到 MS SQL 2008 数据源时,对于设置为“唯一标识符”的 SQL 列,我应该使用什么 Coldfusion cfsqltype。

谢谢!

0 投票
3 回答
606 浏览

mysql - 在 Coldfusion CFQUERY 中按 Min 而不是按 Day 比较 DateTime 值

这是我的查询。

它能够给我所有 expdatetime 小于#yourdate# 的结果,唯一的问题是它只显示结果谁的差异是一整天,而不是那些差异以分钟为单位的结果。因此,差异小于 #yourtime# by min's 的 expdatetime 不会显示在结果中,除非差异至少相差一天。

如何针对最小精度优化此查询?

我知道两个可能有用的函数,DateDiff 和 DateCompare,但我不知道如何在查询中应用它们。

DateDiff("datepart", "date1", "date2")

DateCompare("date1", "date2" [, "datePart"])

日期部分精度

任何帮助将不胜感激。

0 投票
1 回答
335 浏览

sql - cfqueryparam 问题/帮助

通过这个问题,我被告知开始对我的数据使用 cfqueryparam,以防止 SQL 注入攻击。

我如何将它用于我的表格?现在我一直在阅读 Ben Forta 的书 Vol 1 并将数据传递给我的表单,然后传递给一个调用 CFC 的表单处理器。CFC 将它们作为一个cfargument然后将其注入到具有任何 type="x" 验证的数据库中。

Io 使用cfqueryparam,我在查询本身上使用它,甚至没有声明cfargument

0 投票
2 回答
553 浏览

string - ColdFusion cfqueryparam 和复杂查询的问题

我有一个查询,我使用一个插入查询插入约 300 条记录。对于每条记录,我必须对数据进行替换和操作。我刚刚发现我现在必须使用 cfqueryparam,因为其中一条记录是 CLOB 并且达到了很大的大小。我使用字符串来形成查询并将字符串放在 cfquery 标记中。现在我不能这样做,因为您必须使用 PreserveSingleQuotes 将字符串 var 放入 cfquery 标记中,并且不能将 PreserveSingleQuotes 与 cfqueryparam 一起使用。那么我最好的选择是在 cfquery 标记内执行所有操作和循环吗?它能够处理吗?还是我必须做 1000 个单独的插入语句?有更好的主意吗?谢谢。