У меня есть очень простой скрипт, который изменяет статус элемента в базе данных MySql - он отлично работает в IE7, но если я попробую его в Firefox, он выглядит так, как будто он работает, но не ... Что очень странно.
Код очень прост - сначала я получаю детали нужной записи:
<cfscript>
// Get the Product Attribute details
Arguments.qGetProductAttribute = Application.cfcProducts.getProductAttributes(Arguments.iProductAttributeID);
</cfscript>
Это работает нормально, если я дам результаты, это просто содержимое записи, как и ожидалось. Тогда я использую оператор if, чтобы изменить поле 'active' с одного на ноль или наоборот.
<!--- 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 фактически отображает слово «отключено», как и ожидалось, но запись в базе данных не изменяется!
Я в растерянности ... как серверный код может нормально работать в одном браузере, а не в другом?!