将 Coldfusion 结构插入数据库

问题描述 投票:0回答:5

如果我想将联系表单提交保存到数据库,如何将表单范围插入作为提交?我已经有一段时间没有使用 Coldfusion 了。

联系表单根据从网站的哪个部分提交而有所不同,因此需要缩放和处理具有 5 个字段的表单或具有 10 个字段的表单。我只想将数据存储在 blob 表中。

mysql coldfusion coldfusion-8
5个回答
8
投票

最节省空间且最简单的恢复原始形状的方法是使用serializeJSON。之后,您可以使用 key:value|key:value 或结构的 XML 表示形式。


2
投票

Cfwddx 也是一种替代方案。


0
投票

我不知道有没有办法将本机结构存储到数据库中,但是您是否考虑过使用 JSON 将对象表示为键对值,然后从数据库检索它后将其解析为本机结构?

有一些标签/函数可以帮助您将编码和解码为 JSON:


0
投票

如果您无法将表单字段规范化为正确的表,您可以尝试存储它们:

  • 在 XML 中(SQL Server 很好地支持 XML),或者
  • JSON(普通 varchar 字段),或
  • ObjectLoad()
    ObjectSave()
    (仅限 CF9)存储为 blob。

IIRC 在 CF9 之前的版本中,有多种方法可以通过利用 Java 来获取对象加载/保存功能。 http://www.riaforge.org/http://cflib.org/ 可能有它。


0
投票

我一直这样做。 事实上,为了取证,我有一个脚本来记录工作中在我们网站上提交的每个表单。

您可以对 FORM 范围使用serializeJSON()函数,就像这样......

<cfset theForm = serializeJSON(form)>

然后将其插入到您的数据库中。

如果您想确保其安全 - 例如,如果表单包含 PII - 您还可以使用 encrypt() 函数加密 JSON 字符串。 只需用您选择的算法生成一个密钥并将其存储为应用程序变量即可。 这样您就可以根据需要加密和解密内容。

© www.soinside.com 2019 - 2024. All rights reserved.