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