这让我非常困惑,因为我已经这样做了一百次,但现在它让我失望了。
我正在使用 CF 参数进行基本查询更新,并且表的主键正在传递一个空值,导致严重失败。
即使我在 中输入硬编码的数字#form.id placeholder#
,我也会得到:
CFSQLTYPE CF_SQL_NUMERIC 的数据“无效”。
这是我的代码库
<cfquery name="updateIdea" datasource="#request.db#">
UPDATE freshideas
SET subject = <cfqueryparam cfsqltype="cf_sql_varchar" value="#form.subject#" null="no" />,
content = <cfqueryparam cfsqltype="cf_sql_varchar" value="#form.content_text#" />,
postmonth = <cfqueryparam cfsqltype="cf_sql_numeric" value="#form.postmonth#" />,
postyear = <cfqueryparam cfsqltype="cf_sql_numeric" value="#form.postyear#" />,
imglink = <cfqueryparam cfsqltype="cf_sql_varchar" value="#image#" />,
oindex = <cfqueryparam cfsqltype="cf_sql_integer" value="#form.oindex#" null="no" maxlength="3" />
WHERE id = <cfqueryparam cfsqltype="cf_sql_integer" value="#form.id#" null="no" />
</cfquery>
插入工作正常,列 ID 为 auto_increment int(5)。