我有一个非常简单的脚本,可以更改 MySql 数据库中项目的状态 - 它在 IE7 中运行良好,但如果我在 Firefox 中尝试它,它看起来很有效,但没有......这是非常奇怪的。
代码非常简单 - 首先我得到了我正在寻找的记录的详细信息:
<cfscript>
// Get the Product Attribute details
Arguments.qGetProductAttribute = Application.cfcProducts.getProductAttributes(Arguments.iProductAttributeID);
</cfscript>
这工作正常,如果我转储结果,它只是预期的记录内容。因此,我使用 if 语句将“活动”字段从 1 更改为 0,反之亦然。
<!--- If Product Attribute is active, mark as inactive --->
<cfif Arguments.qGetProductAttribute.bActive EQ 0>
<cfquery name="qChangeStatus" datasource="#Request.sDSN#">
UPDATE tblProductAttributes
SET bActive = <cfqueryparam value="1" cfsqltype="CF_SQL_INTEGER" maxlength="1" />
WHERE iProductAttributeID = <cfqueryparam value="#Arguments.iProductAttributeID#" cfsqltype="CF_SQL_INTEGER" />;
</cfquery>
<!--- Else if Product Attribute is inactive, mark as active --->
<cfelseif Arguments.qGetProductAttribute.bActive EQ 1>
<cfquery name="qChangeStatus" datasource="#Request.sDSN#">
UPDATE tblProductAttributes
SET bActive = <cfqueryparam value="0" cfsqltype="CF_SQL_INTEGER" maxlength="1" />
WHERE iProductAttributeID = <cfqueryparam value="#Arguments.iProductAttributeID#" cfsqltype="CF_SQL_INTEGER" />;
</cfquery>
</cfif>
我看不出有任何理由让它不起作用......事实上,在 IE7 中它完美地工作......
运行此脚本后会发生什么,浏览器会返回显示所有这些记录的页面。对于每条记录,如果“bActive”字段设置为“1”,它将显示单词“Active”,如果设置为“零”,它将显示“Disabled”。很简单。
如果我运行脚本来禁用记录,Firefox 实际上会按预期显示“禁用”一词,但数据库记录不会改变!
我不知所措......服务器端代码如何在一个浏览器中正常工作而不在另一个浏览器中工作?!